本节根据学习视频,练习实现流水灯控制,通过小练习,实现对整个应用流程的熟悉了解。
以下为学习笔记。
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开发的基本步骤,
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |