工控教练帮助你提高PLC技术,让PLC学习变得更简单!
威纶通宏指令控制PLC点位断电保持的案例
触摸屏是TK6070iP ,PLC是欧姆龙CP系列
需要达到的目的:触摸屏上的按钮按下时,同时控制PLC上的点动作
EB8000提供了可以掉电保存的寄存器RW和RW_A两种寄存器来实现配方的保存和传送。在此选择了保持寄存器的位地址为RW_Bit 2(具体地址可以自主选择,只要选择的寄存器可以断电保持的就可以);
威纶通的触摸屏无法直接通过屏幕上的按钮控制PLC的实际输入点,需要通过中间变量点(非PLC的实际输入点)来实现控制,在此选择中间变量点CIO_Bit 19.10
一、在屏幕新建一个“位状态切换开关”元件,各设置如下
二、为了在测试时便于观察,可以在屏幕上新建两个位状态指示灯
三、因为断电保持的是RW_Bit 2的数据,而CIO_Bit 19.10不能保持,所以需要另外一个宏指令上电时读取RW_Bit 2的数据,并且写入CIO_Bit 19.10。新建一个“位状态设置”元件。(要把此元件放在触摸屏上电开机之后的第一页面中)
这里的位地址不一定要用RW_Bit只要不和其他数据地址冲突就可以使用。
四、宏指令
[ID:000] Macro_0
macro_command main()
bool d
GetData(d, "Local HMI", RW_Bit, 2, 1)
if d==1 then
SetData(d, "OMRON CJ/CS/CP", CIO_Bit, 19.10, 1)
else if d==0 then
SetData(d, "OMRON CJ/CS/CP", CIO_Bit, 19.10, 1)
end if
end macro_command
[ID:002] Macro_2
macro_command main()
bool e,f,h
h=1
GetData(e, "Local HMI", RW_Bit, 2, 1)
if e==1 then
f=0
SetData(f, "OMRON CJ/CS/CP", CIO_Bit, 19.10, 1)
else if e==0 then
f=1
SetData(f, "OMRON CJ/CS/CP", CIO_Bit, 19.10, 1)
end if
SetData(h, "Local HMI", LB, 9029, 1)
end macro_command
在宏指令macro_2中使用的SetData(h, "Local HMI", LB, 9029, 1),是为了让数据能够实时的保存,而不用等待1分钟(MT8000会每隔1分钟将配方数据RW或RW_A存放至机器的内部存储器)
分享朋友圈一起长见识
更多资料点击进入 |