FX3系列三菱PLC的MODBUS通信編程注意事項
MODBUS通信網(wǎng)絡如果是RS-485通信,則可使用1臺主站控制32站從站,如果是RS-232C通信,則可使用1臺主站控制1站從站。
這里所講的“FX3系列三菱PLC”指的是FX3S、FX3G、FX3GC、FX3U、FX3UC,以下說明MODBUS通信編程的注意事項。
1、MODBUS通信參數(shù)設(shè)定標志位(M8411)
通過通道1或通道2進行MODBUS通信設(shè)定時,請務必使用特殊輔助繼電器(M8411)。
2、使用ADPRW指令時
1) 在MODBUS主站中使用ADPRW指令時,請將驅(qū)動接點保持ON狀態(tài)直到ADPRW指令結(jié)束(M8029為ON)。
2) 在MODBUS主站中同時驅(qū)動多個ADPRW指令時,一次只執(zhí)行1個指令。當前指令結(jié)束后,執(zhí)行下一個ADPRW指令。
3) 在STL指令中編寫ADPRW指令時
和其他站的通信結(jié)束前,請勿將狀態(tài)斷開。通信過程中將狀態(tài)斷開后,ADPRW指令會成為途中停止狀態(tài),不會轉(zhuǎn)移到其他的ADPRW指令。請按照下面的注意事項對順控進行編程。
. 在狀態(tài)的轉(zhuǎn)移條件中,請加上M8029(指令執(zhí)行結(jié)束標志位)的ON條件進行互鎖,以確保在和其他站進行通信的過程中,狀態(tài)不發(fā)生轉(zhuǎn)移。
此外,在通信過程中狀態(tài)斷開的情況下,狀態(tài)再次為ON后,可以完成剩余的通信。
. 請在MODBUS通信過程中(M8401/M8421)的OFF條件成立的狀態(tài)下,使用ZRST(FNC 40)指令等執(zhí)行狀態(tài)的成批復位。
4) 在程序流程中使用ADPRW指令時
ADPRW指令不能在以下的程序流程中使用。
. CJ-P指令之間 條件跳轉(zhuǎn)
. FOR-NEXT指令之間 循環(huán)
. P-SRET指令之間 子程序
. I-IRET指令之間 中斷子程序
5) 關(guān)于RUN中寫入的注意事項
. 允許寫入的場合
可編程控制器處于STOP狀態(tài)時,允許RUN中寫入的操作。
. 不允許寫入的場合
ADPRW指令不支持RUN中寫入。
在通信過程中執(zhí)行RUN中寫入時,或是用RUN中寫入方式刪除了指令時,此后的通信有可能會停止。
3、線圈讀出
MODBUS主站中使用線圈讀出功能(功能代碼:0x01),在讀出對象軟元件中指定字軟元件(例:D或R)時,僅通過ADPRW指令的訪問點數(shù)指定的位會被改寫。字軟元件的剩余位不會變化。
4、FX系列可編程控制器為從站時
請將主站側(cè)的播放延遲設(shè)定成與FX系列從站的掃描時間相同或比該掃描時間長。
5、使用ASCII模式時(僅FX3U/FX3UC可編程控制器)
. FX可編程控制器為主站時
FX可編程控制器為主站時,在可編程控制器側(cè)發(fā)送指令后,請將對象設(shè)備側(cè)回復響應前的時間空出至少100μs。
. FX可編程控制器為從站時
FX可編程控制器為從站的情況下,從對象設(shè)備側(cè)向可編程控制器側(cè)發(fā)送指令時,請在可編程控制器響應超過100μs后,再發(fā)送下一個指令