S7-1200PLC串口通信模塊作為ModbusRTU從站用于響應(yīng)Modbus主站的請求,需要調(diào)用“Modbus_Slave”指令。將“Modbus_Slave”指令拖入到程序時(shí),系統(tǒng)會為其自動分配背景數(shù)據(jù)塊,該背景數(shù)據(jù)塊指向“Modbus_Comm_Load”指令的輸入?yún)?shù)“MB_DB”●必須先執(zhí)行“Modbus_Comm_Load”指令組態(tài)端口,然后“Modbus_Slave”指令才能通過該端口通信?!袢绻麑⒛硞€(gè)端口用于ModbusRTU從站,則該端口不能再用于ModbusRTU主站?!駥τ诮o定端口,只能使用一個(gè)Modbus_Slave指令。●“Modbus_Slave”指令必須以一定的速率定期執(zhí)行,以便能夠及時(shí)響應(yīng)來自“Modbus_Master”的請求。建議在主程序循環(huán)OB中調(diào)用“Modbus_Slave”指令?!瘛癕odbus_Slave”指令支持來自Modbus主站的廣播寫請求,只要該請求是用于訪問有效地址的請求即可。對于廣播不支持的功能代碼,“Modbus_Slave”指令的STATUS將輸出錯(cuò)誤代碼16#8188主要包括CPU(處理器)、存儲器、I/O接口(輸入/輸出接口)、通信接口和電源等部分。金山區(qū)電工課程培訓(xùn)機(jī)構(gòu)
字邏輯運(yùn)算(1)與運(yùn)算(AND)、或運(yùn)算(OR)、異或運(yùn)算(XOR)和求反碼指令(INVERT)邏輯運(yùn)算指令對兩個(gè)輸入IN1和IN2逐位進(jìn)行邏輯運(yùn)算。邏輯運(yùn)算的結(jié)果存放在輸出OUT指定的地址“與”(AND)運(yùn)算時(shí)兩個(gè)操作數(shù)的同一位如果均為1,運(yùn)算結(jié)果的對應(yīng)位為1,否則為0。類型“或”(OR)運(yùn)算時(shí)兩個(gè)操作數(shù)的同一位如果均為0,運(yùn)算結(jié)果的對應(yīng)位為0,否則為1。“異或”(XOR)運(yùn)算時(shí)兩個(gè)操作數(shù)的同一位如果不相同,運(yùn)算結(jié)果的對應(yīng)位為1,否則為0。以上指令的操作數(shù)IN1、IN2和OUT的數(shù)據(jù)類型為十六進(jìn)制的Byte,Word和Dword.取反指令(INV)將輸入IN中的二進(jìn)制整數(shù)逐位取反,即各位的二進(jìn)制數(shù)由0變1,由1變0,運(yùn)算結(jié)果存放在輸OU指定的地址。.金山區(qū)電工課程班在每次掃描周期的結(jié)尾,CPU 將過程映像輸出區(qū)中的數(shù)制復(fù)制到物理輸出點(diǎn)上。
計(jì)數(shù)器指令使用說明①計(jì)數(shù)器指令由一個(gè)16位預(yù)置值寄存器、一個(gè)16位當(dāng)前值寄存器和1位狀態(tài)位組成。預(yù)置值寄存器用來存儲預(yù)置值;當(dāng)前值寄存器用于存儲計(jì)數(shù)器開始計(jì)數(shù)后任一時(shí)刻的刷新次數(shù);狀態(tài)位反映計(jì)數(shù)器觸點(diǎn)的狀態(tài)。②加計(jì)數(shù)器、減計(jì)數(shù)器和加/減計(jì)數(shù)器的編號范圍相同,由于每個(gè)計(jì)數(shù)器都有一個(gè)當(dāng)前值,因此不能將同一計(jì)數(shù)器編號分配給多個(gè)計(jì)數(shù)器。③計(jì)數(shù)器計(jì)數(shù)范圍為0~32767。計(jì)數(shù)器有兩種尋址類型:Word(字)和Bit(位)。計(jì)數(shù)器編號可同時(shí)用于表示該計(jì)數(shù)器的當(dāng)前值和計(jì)數(shù)器位。④計(jì)數(shù)器可以通過系統(tǒng)塊設(shè)置計(jì)數(shù)器的斷電保持范圍。.
異步通信與同步通信:同步通信是一種連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳送一幀信息。這里的信息幀與異步通信中的字符幀不同,通常含有若干個(gè)數(shù)據(jù)字符。它們均由同步字符、數(shù)據(jù)字符和校驗(yàn)字符(CRC)組成。其中同步字符位于幀開頭,用于確認(rèn)數(shù)據(jù)字符的開始。數(shù)據(jù)字符在同步字符之后,個(gè)數(shù)沒有限制,由所需傳輸?shù)臄?shù)據(jù)塊長度來決定;校驗(yàn)字符有1到2個(gè),用于接收端對接收到的字符序列進(jìn)行正確性的校驗(yàn)。同步通信的缺點(diǎn)是要求發(fā)送時(shí)鐘和接收時(shí)鐘保持嚴(yán)格的同步。TIA博途軟件中可定義兩類符號:全局符號和局部符號。
PROFINET通信指令是用于實(shí)現(xiàn)PROFINET通信協(xié)議下數(shù)據(jù)交換的一系列指令。PROFINET是一種基于工業(yè)以太網(wǎng)的開放式現(xiàn)場總線標(biāo)準(zhǔn),由PROFIBUS國際組織(PI)推出,廣泛應(yīng)用于工業(yè)自動化領(lǐng)域。在西門子S7-1200PLC中,PROFINET通信指令主要包括TSEND_C和TRCV_C等。這些指令可用于傳送可被中斷的數(shù)據(jù)緩沖區(qū),通過避免對程序循環(huán)OB和中斷OB中的緩沖區(qū)進(jìn)行任何讀/寫操作,可確保數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)一致性。TSEND_C指令:功能:與伙伴站建立TCP或ISO-on-TCP通信連接,發(fā)送數(shù)據(jù)并可終止連接。操作:設(shè)置并建立連接后,CPU自動保持和監(jiān)視該連接。使用“頻率測量周期”下拉列表??蛇x1.0s、0.1s、和0.0s。松江區(qū)基礎(chǔ)電工課程機(jī)構(gòu)
設(shè)備的傳感器和執(zhí)行器通過前連接線連接到自動化系統(tǒng)。金山區(qū)電工課程培訓(xùn)機(jī)構(gòu)
USS指令可控制支持通用串行接口(USS)的電機(jī)驅(qū)動器的運(yùn)行。可以使用USS指令通過與CM1241RS485通信模塊或CB1241RS485通信板的RS485連接與多個(gè)驅(qū)動器通信。一個(gè)S7-1200CPU中*多可安裝三個(gè)CM1241RS422/RS485模塊和一個(gè)CB1241RS485板。每個(gè)RS485端口*多操作十六臺驅(qū)動器。USS協(xié)議使用主從網(wǎng)絡(luò)通過串行總線進(jìn)行通信。主站使用地址參數(shù)向所選從站發(fā)送消息。如果未收到傳送請求,從站本身不會執(zhí)行傳送操作。各從站之間無法進(jìn)行直接消息傳送。USS通信以半雙工模式執(zhí)行。以下USS模式以半雙工式模式執(zhí)行。金山區(qū)電工課程培訓(xùn)機(jī)構(gòu)