PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 54|回复: 0

[汇川] 汇川技术|InoProShop流水灯控制练习

[复制链接]
发表于 2024-5-29 19:33:59 | 显示全部楼层 |阅读模式
>因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享

哈喽,你好啊,我是雷工!
本节根据学习视频,练习实现流水灯控制,通过小练习,实现对整个应用流程的熟悉了解。
以下为学习笔记。
01 实现功能
点击【启动】按钮,流水灯开始运行,间隔1秒,可修改间隔时间。当点击【周期停止】时,流水灯运行完本轮后停止运行,当点击【立即停止】流水灯立刻停止运行。
02 实现效果

03 实现过程
3.1、实现思路
①:确定硬件映射关系;
②:确定流动方向;
③:确定启停条件;
3.2、新建工程
新建一个【标准工程】,选择设备【AM401-CPU1608TP/TN】,名称命名为【LeiGong_WaterLamp】,语言选择【结构化文本(ST)】。

3.3、创建全局变量列表
①:在【Application】右击选择【添加对象】,点击【全局变量列表】

②:完善名称【GVL_LeiGong_IO】点击【打开】按钮,完成创建。

③:同样的方式继续创建如下3个不同的分组,可以根据功能,应用分成不同的组,便于使用。

3.4、定义变量
在创建的全局变量列表里定义变量。
①编辑GLV_LeiGong_IO












VAR_GLOBAL    gB_DO:BYTE;    yb_xxxx_0:BOOL;    yb_xxxx_1:BOOL;    yb_xxxx_2:BOOL;    yb_xxxx_3:BOOL;    yb_xxxx_4:BOOL;    yb_xxxx_5:BOOL;    yb_xxxx_6:BOOL;    yb_xxxx_7:BOOL;END_VAR②编辑GLV_LeiGong_HMI






VAR_GLOBAL    lg_启动:BOOL;    lg_周期停止:BOOL;    lg_立即停止:BOOL;END_VAR③编辑GLV_LeiGong_Main




VAR_GLOBAL    Ton_Lamp:TON;END_VAR3.5、添加程序
①:在【Application】右击选择【添加对象】,点击【程序组织单元】

②:可以填写名称,选择类型,以及选择实现语言,

③:程序创建后有一个默认的程序组织单元PLC_PRG。

④:在创建的程序上右击-选择【添加对象】,可以继续选择添加动作、方法、属性、转移。

3.6、添加动作
这里的动作ACT相当于子程序,

注意事项:
动作的执行需要在PRG程序中调用才行,才能执行,这一点感觉和C#中调用方法类似,果然编程的思想和逻辑都是相通的,很多方法使用起来也都类似。

3.6、编程动作
ACT_LeiGong_01代码如下:














































CASE intWaterLampStep OF    0://等待触发    IF lg_启动 THEN        lg_启动:=FALSE;//信号自复位点动效果        intWaterLampStep:=10;    END_IF        //gB_DO:=0;        lg_周期停止:=FALSE;    10://赋初始值,从最低位开始亮        gB_DO:=1;        gB_DO_test[1]:=8;        gB_DO_test[2]:=16;    IF NOT lg_周期停止 THEN        intWaterLampStep:=20;    ELSIF lg_周期停止 THEN         intWaterLampStep:=0    ;    END_IF    20://启动计时    IF Ton_Lamp.Q THEN        intWaterLampStep:=30;    END_IF        Ton_Lamp(IN:=intWaterLampStep=20,PT:=REAL_TO_TIME(ht_间隔时长*1000),Q=>,ET=>);    30://数据移位    gB_DO:=gB_DO*2;    gB_DO_test[1]:=gB_DO_test[1]/2;    gB_DO_test[2]:=gB_DO_test[2]*2;    intWaterLampStep:=40;    40://启动计时    IF Ton_Lamp.Q THEN        intWaterLampStep:=50;    END_IF        Ton_Lamp(IN:=intWaterLampStep=40,PT:=REAL_TO_TIME(ht_间隔时长*1000),Q=>,ET=>);        50://条件判断    IF gB_DO=128 THEN        intWaterLampStep:=10;    ELSE        intWaterLampStep:=30;    END_IFEND_CASE//停止的逻辑IF lg_立即停止 THEN    lg_立即停止:=FALSE;    intWaterLampStep:=0;END_IF04 后记
以上为实现流水灯的练习,通过该练习熟悉了汇川InoProShop开发的基本步骤,
有记录不当之处欢迎留言区指正,
更多内容欢迎在交流群中相互探讨,一个人可以走的很快,但一群人能够走的足够远,期待与你同行。

觉得有启发点个关注呗↓
-更多内容可点击下方标签阅读-
☞限时免费加入交流群
汇川技术|MCGS昆仑通态|数据库
差旅游记|JavaScript|C#相关

数字孪生|山海鲸可视化|☞C#2024
KingSCADA|KingIOServer


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-9-8 07:35 , Processed in 0.044354 second(s), 27 queries .

快速回复 返回顶部 返回列表