日韩精品成人内射视频丨国产精品内射老熟女丨日韩欧美群交P片內射中文丨亚洲国产群交无码AV丨欧美日韩国产精品丨老司机午夜亚洲福利丨久久精品午夜福利丨经典午夜福利片 三菱PLC與PC機通過編程口實現串行通信
三菱FX系列PLC在我國應用十分廣泛,是目前國內市場上占有率較高的幾種PLC機型之一。根據三菱公司提供的技術資料,在用戶系統中,要實現PLC與Pc機串行通信,一般還需購買FX-232-BD通信模塊;而PLC自身所帶的編程口在下載完程序后處于閑置狀態。因此,若能直接利用編程口實現PLC與PC機串行通信,將有利于節約資源。
PLC主要面向生產現場,具有使用方便、可靠性高和抗干擾能力強等優點。PC機直接面向用戶,在數據處理、圖像顯示和打印報表等方面具有顯著優勢。將PC機與PLC以上、下位機的形式聯合起來應用,可以更有效地發揮各自優勢,互補應用上的不足。
LabVIEW是美國NI公司開發的一個基于計算機的虛擬儀器開發平臺。強大而靈活的儀器控制功能是LsbVIEW區別于其他編程語言的主要特點,LabVIEW在數據采集、儀器控制、過程監控和自動測試等領域有著廣泛的應用。
②PC機“強制ON”命令幀
PC機“強制ON”命令幀由報文開始標志、命令碼(37H)、軟元件地址、報文結束標志以及和校驗碼組成。接收命令正常時,PLC應答“ACK”;接收出錯時,PLC應答“NAK”。
③PC機“強制OFF”命令幀
PC機“強制OFF”命令幀由報文開始標志、命令碼(38H)、軟元件地址、報文結束標志以及和校驗碼組成。接收命令正常時,PLC應答“ACK”;接收出錯時,PLC應答“NAK”。
④PC機“寫”命令幀
PC機“寫”命令幀由報文開始標志、命令碼、軟元件首地址、軟元件數據長度(字節數)、待寫入軟元件的數據、報文結束標志以及和校驗碼組成,如圖3所示。寫入正常時,PLC應答“ACK”;寫入出錯時,PLC應答“NAK”。
圖3 “寫”命令幀
3 LabVIEW程序設計
在LabVlEW編程中,系統利用虛擬儀器軟件規范VISA(virtual instrument software architecture)實現串行通信。VISA本身并不具有儀器編程能力,它通過調用相應設備驅動器的高層應用程序編程接口(API)進行編程。
首先對端口進行配置,然后發送“ENQ”信號給PLC請求通信,在收到PLC返回的“ACK”信號后,PC機連續對PLC進行“讀取”和“寫入”操作,通信結束后關閉端口。PC機和PLC串行通信的程序結構如圖4所示。
圖4 串行通信程序流程圖
3.1 串口初始化
串口按照Fx系列PLC的標準通信參數進行配置:①波特率為9 600 bit/s;②數據比特為7位;③奇偶校驗方式采用偶校驗;④停止位為1位。
3.2 請求通信
開始通信時,PC機發送“ENQ”指令查詢PLC是否準備好,同時也檢查PC機到PLC的連接是否正確。當接收到字符后,若PLC處在RUN狀態,則要等到本次掃描周期結束時才應答;若PLC處在STOP狀態,則馬上應答。通信正常時,PLC應答“ACK”;通信出錯時,應答“NAK”。
3.3 讀取PLC軟元件狀態
程序首先通過VISA寫入節點發送命令字符“0”讀取PLC相應軟元件的狀態,然后VISA讀取節點獲得PLC返回數據。寫入和讀取的字符串都是十六進制形式的。通過對讀取的字符串的拆分可獲得相應軟元件每一位的狀態,從而起到監視PLC的作用。
3.4 數據寫入PLC軟元件
程序首先通過VISA寫入節點發送命令字符“1”對相應的軟元件進行寫入操作,然后VISA讀取節點獲得PLC返回的應答幀,若寫入正確,PLC應答“ACK”;若寫入錯誤,PLC應答“NAK”。將寫入數據傳送至PLC軟元件所對應的地址,即可對軟元件的任意位進行實時操作。數據寫入PLC的程序框圖如圖5所示。
圖5 數據寫入PLC的程序框圖
3.5 關閉串口
通信結束后,需使用VISA關閉節點關閉串口設備,否則程序會一直占用串口資源,導致其他程序無法訪問。
4 結束語
以PC機和PLC分別構成上、下位機的監控系統在工業控制中應用廣泛。本文通過編程口直接實現三菱PLC與PC機之間的串行通信,無需使用通信模塊,既節省了成本又簡化了系統,具有較大的實用價值。同時,結合相關硬件,本文以LabVlEW作為開發平臺設計了相應的通信程序。實驗結果表明,該通信方式方便簡單、穩定可靠,具有廣泛的應用前景。
1 系統硬件構成
三菱FX系列PLC自帶的編程口是RS-422接口,而PC機的串行通信口則是RS-232C接口,兩者之間需要通過SC-09適配電纜才能通信。不同設備上相同類型的通信接口的引腳定義可能存在差異。PC機與三菱FX系列PLC上的通信接口引腳定義如圖1所示。
圖1 接口引腳定義
RS-422和RS-232C是兩種不同標準的串行數據接口,兩者的主要差別在于信號傳輸方式不同。RS-232C標準利用信號線與公共地線之間的電壓差進行信號傳輸,采用的是單向傳輸方式;RS-422標準則是利用傳輸線之間信號的電壓差進行傳輸的,采用的是差動傳輸方式。SC-09電纜實現了這兩種不同的信號傳輸方式之間的轉換,其內部電路如圖2所示。
圖2 SC-09電纜內部電路
2 通信協議
PC機與PLC之間有兩種通信方式:一種是PC機具有優先權而PLC始終被動響應Pc機發來的命令;另一種則是PLC具有優先權,將命令發送給PC機,并接收來自PC機的響應。本文采用的是前一種通信方式。
為實現Pc機與FX系列PLC編程口之間的通信,系統采用的是編程口專用通信協議。
2.1 控制字符
在PC機與FX系列PLC的串行通信中,數據是以幀為單位發送和接收的。其中,控制字符ENQ(05H)、ACK(06H)和NAK(15H)可以構成單字符幀心1,其余的字符幀在發送或接收時都必須用控制字符STX(02H)和ETX(03H)分別作為該幀的起始標志和結束標志。
各控制字符的意義如表1所示。
表1 控制字符意義
2.2 命令代碼
PC機對PLC相應軟元件的操作是通過“0”、“1”、“7”、“8”四個命令符來實現的,各命令符的含義如表2所示。
表2 命令字符含義
2.3 命令幀
一個完整的命令幀由控制字符STX(02H)、命令碼(CMD)、數據段、控制字符ETX(03H)以及和校驗碼五部分組成。其中,和校驗碼是從命令碼到控制字符ETX的所有字符的ASCII碼(十六進制)相加所得結果的最低兩位數。
①PC機“讀”命令幀
“讀”命令幀由報文開始標志、命令碼、軟元件首地址、軟元件數據長度(字節數)、報文結束標志以及和校驗碼組成。
當通信正確時,PLC返回的應答幀由報文開始標志、數據段、報文結束標志以及和校驗碼組成;通信出錯時,PLC應答“NAK”。