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

[复制链接]
查看153 | 回复0 | 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开发的基本步骤,

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

本帖子中包含更多资源

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

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

本版积分规则