威綸通宏指令控制PLC程序案例

威綸通宏指令控制PLC點位斷電保持的案例

觸摸屏是TK6070iP ,PLC是歐姆龍CP系列

需要達到的目的:觸摸屏上的按鈕按下時,同時控制PLC上的點動作

EB8000提供了可以掉電保存的寄存器RW和RW_A兩種寄存器來實現配方的保存和傳送。在此選擇了保持寄存器的位地址為RW_Bit 2(具體地址可以自主選擇,只要選擇的寄存器可以斷電保持的就可以);

威綸通的觸摸屏無法直接通過屏幕上的按鈕控制PLC的實際輸入點,需要通過中間變量點(非PLC的實際輸入點)來實現控制,在此選擇中間變量點CIO_Bit 19.10

一、在屏幕新建一個“位狀態切換開關”元件,各設置如下

威綸通宏指令控制PLC程序案例

二、為了在測試時便於觀察,可以在屏幕上新建兩個位狀態指示燈

威綸通宏指令控制PLC程序案例
威綸通宏指令控制PLC程序案例
威綸通宏指令控制PLC程序案例
威綸通宏指令控制PLC程序案例

三、因為斷電保持的是RW_Bit 2的數據,而CIO_Bit 19.10不能保持,所以需要另外一個宏指令上電時讀取RW_Bit 2的數據,並且寫入CIO_Bit 19.10。新建一個“位狀態設置”元件。(要把此元件放在觸摸屏上電開機之後的第一頁面中)

威綸通宏指令控制PLC程序案例

這裡的位地址不一定要用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存放至機器的內部存儲器)


分享到:


相關文章: