【控制要求】 CLINK啟動開關 X0為ON時,則不斷的讓主站( Master PLC)與3臺從站( Slave PLC)通過CLINK方式完成PLC之間的數據交換(單筆最多為 64word)。
【PLC參數必要設置】
主從站
|
站號
|
通訊口
|
通訊格式
|
Master PLC
|
1
|
Port4
|
波特率:9600 數據位:7 停止位: 1 校驗位:偶校驗協議:永宏通訊協議
|
Slave PLC 1
|
2
|
Port2
|
Slave PLC 2
|
3
|
Port3
|
Slave PLC 3
|
4
|
Port2
|
※在WinProladder界面,點選菜單欄的 “PLC”?“設定”?“Port#通訊參數 ”,即可對相應的通訊口進行參數設置,前例 12.3已有說明,此處不再贅述。※當出現 PLC因參數設置錯亂而導致通訊異常時,可先在 WinProladder編程軟件菜單中點選: PLC?快捷操作 ?初始化全部資料,使 PLC 回歸出廠值后,再按照上表進行設置。
z操作步驟:
PLC 元件
|
控制說明
|
X0
|
CLINK啟動開關
|
M1938
|
Port4工作指示, 0:被占用, 1:Ready狀態
|
【控制程序】 只需在站號為 1的MASTER PLC寫入如下圖的指令,即可實現多臺 PLC之間的通訊。
【通訊表格的建立】
如下圖所示
-
(1) 在“ModBus Master”通訊命令表格中,點擊 “新增”按鈕,編輯一條通訊命令;
-
(2)各參數說明:仆站站號:欲與之交換數據的仆站號;命令:分為 “寫入(write)”和“讀取(read)”兩種;資料長度:******為 64,當然也可以通過變址方式進行設定;主站數據起始位置:分配主站需被讀取或被寫入的地址段的起始單元;仆站數據起始位置:分配仆站需被讀取或被寫入的地址段的起始單元;
-
(3)此例中共編輯了 8筆通訊命令,如下圖所示:
【程序說明】
-
(1)該指令只需寫入到主站 PLC中,而各仆站 PLC只需設好通訊參數,聽從主站指揮即可;
-
(2)從上圖狀態欄可看出,編輯此 8條通訊命令共占用了 57個緩存器R5000~R5056;
-
(3) 程序 RUN后,M1938應為Ready狀態(即為 ON),當X0一接通,就進入 CLINK通訊,下面說明各 PLC數據區內容的變化情況:
MASTER PLC(1臺)
|
|
SLAVE PLC(3臺)
|
D0~D35(內容全為 0)
|
讀取
|
2號站的 R20~R55(內容全為 1)
|
D40~D49(內容全為 100)
|
寫入
|
2號站的 D100~D109(內容全為 0)
|
M50~M65(狀態全為 0)
|
讀取
|
3號站的 X0~X15(狀態全為 1)
|
D60~D67(內容全為 0)
|
讀取
|
3號站的 R200~R207(內容全為 2)
|
M100~M103(狀態全為1)
|
寫入
|
3號站的 Y0~Y3(狀態全為 0)
|
D200~D263(內容全為 0)
|
讀取
|
4號站的 R500~R563(內容全為 3)
|
D264~D319(內容全為 0)
|
讀取
|
4號站的 R564~R619(內容全為 3)
|
R0~R5(內容全為 FFFFH)
|
寫入
|
4號站的 WM8~WM48(狀態全為 0)
|
通訊成功后各數據區的內容如下:
MASTER PLC(1臺)
|
SLAVE PLC(3臺)
|
D0~D35(內容全為 1)
|
2號站的 R20~R55(內容全為 1)
|
D40~D49(內容全為 100)
|
2號站的 D100~D109(內容全為 100)
|
M50~M65(狀態全為 1)
|
3號站的 X0~X15(狀態全為 1)
|
D60~D67(內容全為 2)
|
3號站的 R200~R207(內容全為 2)
|
M100~M103(狀態全為 1)
|
3號站的 Y0~Y3(狀態全為 1)
|
D200~D263(內容全為 3)
|
4號站的 R500~R563(內容全為 3)
|
D264~D319(內容全為 3)
|
4號站的 R564~R619(內容全為 3)
|
R0~R5(內容全為 FFFFH)
|
4號站的 WM8~WM48(狀態全為 1)
|
(4)每次通訊進行中, M1938都會為 0,表示port4被占用;當通訊完成,M1938會重新變回1,觸發新的一次通訊。
|