將S7-400單站系統(tǒng)配置為使用CPU集成的PN端口作為Modbus TCP通信的服務(wù)器。
以S7-400單工作站系統(tǒng)和Modscan32軟件為例,詳細(xì)介紹如何通過CPU集成的PN端口將S7-400單工作站系統(tǒng)配置為服務(wù)器。
Modscan32是ModbusTCP通信的客戶端。
下圖11顯示了服務(wù)器功能塊庫的程序結(jié)構(gòu)以及每個(gè)功能塊完成的功能:S7-400系統(tǒng)和Modscan32軟件配置打開Step7軟件,創(chuàng)建一個(gè)名為“ M_TCP_CPU_V26(Server)”的新項(xiàng)目文件。
,在項(xiàng)目下插入一個(gè)S7-400站,如圖12所示:圖12:新的S7-400Station雙擊插入的SIMATIC400Station的“硬件”,打開硬件配置,然后在硬件配置界面下插入機(jī)器。
框架,電源PS407,CPU414-3PN / DP(在此示例中)將CPU的PN端口IP地址設(shè)置為192.168.70.2,如下圖13所示:硬件配置完成后,編譯并保存并設(shè)置常規(guī)站點(diǎn)“ SIMATIC400(Server)”;將程序(不需要復(fù)制Systemdata)復(fù)制到項(xiàng)目中。
因?yàn)橛斜匾赟IMATIC站和其他通信伙伴之間建立TCP連接以進(jìn)行Modbus通信以及CPU的集成PN端口,所以必須通過OpenIE(開放以太網(wǎng)通信)建立TCP連接。
當(dāng)PROFINET接口用于ModbusTCP通信時(shí),通信塊FB65“ TCON”,F(xiàn)B66“ TDISCON”,F(xiàn)B63“ TSEND”被阻止。
和FB64“ TRCV”需要使用。
對于Modbus TCP通信,必須為數(shù)據(jù)塊中的每個(gè)連接指定相應(yīng)的參數(shù)。
相應(yīng)的參數(shù)主要由DB2“ MODBUS_PARAM”初始化。
在程序中,每個(gè)參數(shù)的含義如圖14和15所示:3.3通訊測試選件包支持功能碼FC1、2、3、4、5、6、15、16,不同功能碼的測試過程相似,因此以下以FC03(讀寫保持寄存器)為例進(jìn)行說明。
注意,對于Modbus數(shù)據(jù)類型,請參見下表4。
需要初始化時(shí),分別在OB100和OB1中調(diào)用FB102,在OB100中調(diào)用FB102完成相關(guān)參數(shù)的初始化。
FB102引腳分布如圖16所示:打開Modscan32軟件,打開“連接--->連接”中的連接屬性對話框,選擇“ RemoteTCP / IPServer”。
對于連接接口,并使用IP地址192.168.70.2填寫CPU的IP地址,服務(wù)是遠(yuǎn)程服務(wù)器的端口502。
在協(xié)議選擇對話框中,您可以定義傳輸模式,通信超時(shí)響應(yīng)時(shí)間,消息發(fā)送間隔以及允許寫入多個(gè)保持寄存器等,這里您可以保留默認(rèn)設(shè)置,如下圖17所示:下載硬件配置和編程到CPU,啟用參數(shù)“ server_client”。
DB2“ MODBUS_PARAM”的將其設(shè)置為“ 1”,并設(shè)置數(shù)據(jù)掃描周期,寄存器連接類型,并從“ Setup-> DataDefinition”開始。
的Modscan32。
起始地址,長度等,如下圖18所示:由于Modbus的內(nèi)部地址是根據(jù)數(shù)據(jù)鏈路層和應(yīng)用程序?qū)又g的某種映射關(guān)系安排的,因此Modbus地址和DB塊的地址在SIMATIC中,遵循與映射關(guān)系相對應(yīng)的某個(gè)地址,這將導(dǎo)致DB塊中存在某個(gè)地址偏移。
在此示例中,假定定義了數(shù)據(jù)區(qū)域,如圖19所示,DB偏移,Modbus物理尋址和應(yīng)用程序?qū)訉ぶ啡缦旅娴膱D20所示:在Step7項(xiàng)目程序中創(chuàng)建一個(gè)新的變量監(jiān)視表,插入需要監(jiān)視的參數(shù)和數(shù)據(jù)區(qū)域變量,您可以看到Modscan32軟件與CPU414-3PN / DP之間的數(shù)據(jù)通信已建立,并且雙方都可以執(zhí)行正常的保持寄存器數(shù)據(jù)讀寫操作,如下圖所示圖21: