重慶索利亞電氣設(shè)備有限公司
西門子PLC模塊6ES7223-1BL32-0XB0
西門子PLC模塊6ES7223-1BL32-0XB0
在工控領(lǐng)域,公司以精益求精的經(jīng)營理念,從產(chǎn)品、方案到服務(wù),致力于塑造一個“行業(yè)專家”品牌,以實(shí)現(xiàn)可持續(xù)的發(fā)展。
. 2 S7 1200 PLC與PAC3200通過MODBUS RTU通信的編程
1.MODBUS RTU 通信接口參數(shù)的編程
MB_COMM_LOAD 功能塊用于組態(tài)點(diǎn)對點(diǎn) (PtP, Point-to-Point) CM 1241RS485 或 CM 1241 RS232 模塊上的端口,以進(jìn)行 Modbus RTU 協(xié)議通信。
程序開始運(yùn)行時,調(diào)用一次MB_COMM_LOAD功能塊,來實(shí)現(xiàn)對MODBUS RTU模塊
的初始化組態(tài)。
MB_COMM_LOAD執(zhí)行一次的編程方式采用如下圖所示時鐘位M10.0來完成。

圖12:MB_COMM_LOAD執(zhí)行一次的編程時鐘位的設(shè)置
MB_COMM_LOAD功能塊的編程如下圖所示。

圖13:MB_COMM_LOAD功能塊的編程
PORT:指的是通過哪個通信模塊進(jìn)行MODBUS RTU通信。
BAUD:指的是和MODBUS子站進(jìn)行通信的速率。
通信端口的波特率。取值范圍為300,600,1200,2400,4800,9600,19200,38400,57600,
76800,115200。
注意:儀表PAC3200的波特率的設(shè)置范圍:4800,9600,19200,38400。因此上S7-1200
的波特率的設(shè)置一定要和儀表PAC3200的波特率的設(shè)置相一致。
MB_DB:對 MB_MASTER 或 MB_SLAVE 指令所使用的背景數(shù)據(jù)塊的引用。 在用戶程序中放置
MB_SLAVE 或 MB_MASTER 后,DB標(biāo)識符會出現(xiàn)在 MB_DB 功能框連接的助手下拉列表中。
如“MB_MASTER_DB”或“MB_SLAVE_DB”。
STATUS:端口狀態(tài)代碼。具體含義如下表所示。

表4: MB_COMM_LOAD組態(tài)端口的狀態(tài)代碼
2.MODBUS_MASTER功能塊的編程
MB_MASTER 功能塊允許程序作為Modbus 主站使用點(diǎn)對點(diǎn) (PtP, Point-to-Point) CM 1241 RS485 或 CM 1241RS232 模塊上的端口進(jìn)行通信。 可訪問一個或多個 Modbus 從站設(shè)備中的數(shù)據(jù)。
MB_MASTER功能塊的編程如下圖所示。

圖14:MB_MASTER功能塊的編程
REQ:數(shù)據(jù)發(fā)送請求信號。0-無請求。1-請求將數(shù)據(jù)傳送到MODBUS從站。
MB_ADR:通信對象MODBUS從站的地址。有效地址范圍為0-247。值 0 被保留用于將消息廣播到所有 Modbus 從站。 只有Modbus 功能代碼 05、06、15 和 16 是可用于廣播的功能代碼。
注意:此處MODBUS從站的地址一定要與儀表PAC3200 的MODBUS 地址相一致。
MODE:模式選擇。選擇范圍為:讀、寫、診斷。
DATA_ADDR:從站中的起始地址: 要在 Modbus 從站中訪問的數(shù)據(jù)的起始地址。
特別注意的是:由于儀表PAC3200的寄存器與S7-1200 MODBUS RTU寄存器的不一致
性,讀取儀表PAC3200的DATA_ADDR的地址必須從40002開始。
注意: S7-1200的MODBUS RTU通信功能是通過使用“DATA_ADDR”和“MODE”的組合
來選擇MODBUS功能碼,如下表所示。

表5: S7-1200的MODBUS RTU通信功能碼
而儀表PAC3200 MODBUS RTU通信功能則是通過功能碼來實(shí)現(xiàn)的,如下表所示。


































祁阳县|
石河子市|
汉沽区|
永登县|
察哈|
镇雄县|
黎川县|
宜阳县|
玛沁县|
东安县|
八宿县|
上蔡县|
葫芦岛市|
洪江市|
宜君县|
乌兰察布市|
交城县|
临海市|
丹寨县|
盐边县|
海林市|
宁德市|
荔浦县|
大兴区|
乌恰县|
肥城市|
新丰县|
伊川县|
故城县|
中卫市|
张家川|
无锡市|
宝山区|
顺平县|
洪洞县|
辽源市|
万荣县|
明星|
许昌县|
枝江市|
尚义县|