威綸通宏指令控制PLC點位斷電保持的案例
觸摸屏是TK6070iP ,PLC是歐姆龍CP系列
需要達到的目的:觸摸屏上的按鈕按下時,同時控制PLC上的點動作
EB8000提供了可以掉電保存的寄存器RW和RW_A兩種寄存器來實現配方的保存和傳送。在此選擇了保持寄存器的位地址為RW_Bit 2(具體地址可以自主選擇,只要選擇的寄存器可以斷電保持的就可以);
威綸通的觸摸屏無法直接通過屏幕上的按鈕控制PLC的實際輸入點,需要通過中間變量點(非PLC的實際輸入點)來實現控制,在此選擇中間變量點CIO_Bit 19.10
一、在屏幕新建一個“位狀態切換開關”元件,各設置如下
![威綸通宏指令控制PLC程序案例](http://p2.ttnews.xyz/loading.gif)
二、為了在測試時便於觀察,可以在屏幕上新建兩個位狀態指示燈
![威綸通宏指令控制PLC程序案例](http://p2.ttnews.xyz/loading.gif)
三、因為斷電保持的是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存放至機器的內部存儲器)
閱讀更多 電氣自動化高級工程師 的文章