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