国产精品免费视频网站丨日韩a毛片免费观看丨欧美日韩中文在线不卡丨欧亚精品乱码久久久久久丨1000部夫妻午夜免费丨国产精品久久久久久久久一级无码丨日欧片内射AV影院频道丨97色伦图片 三菱PLC通訊:實現VB和三菱FX系列PLC的通訊
三菱PLC通訊:實現VB和三菱FX系列PLC的通訊
在工業生產中,人們常常面臨著數據采集與管理。作為工廠自動化的三大支柱可編程控制器 PLC(Programmable Logic Controller),由于其安全可靠,廣泛的用于數據采集與控制。生產過程中,要監視PLC內部的數據與運行狀況,選用市場上的人機界面或組態軟件,雖然功能豐富,但大都價格昂貴,在一些中小規模的生產場合,人們希望能自己用高級語言開發一個簡易實用的通信程序。使用Visual Basic 6.0,開發串行通信程序時,有兩種方法,一種是用Windows API函數,另一種是用VB支持的通信控件 MSCOMM。以下介紹使用通信控件方式實現通訊
1.硬件
采用SC-09編程電纜,連接PC串口與PLC編程口實現通訊。
2.PLC編程口的通信協議簡介
命令 | 命令字 | 控制元件 | 備注 |
讀元件 | 0 | X,Y,M,S,T,C,D | 讀字/位元件狀態 |
寫元件 | 1 | X,Y,M,S,T,C,D | 寫字/位元件狀態 |
置位 | 7 | X,Y,M,S,T,C | 位元件置位 |
復位 | 8 | X,Y,M,S,T,C | 位元件復位 |
通信格式:
命令字 | 首地址 | 數據區 | 結束符 | 和校驗 |
波特率9600,偶校驗,8位數據位,一位停止位。 具體請參考有關資料,以下舉例說明其通訊格式
1)、DEVICE READ(讀出軟設備狀態值)
計算機向PLC發送:
始 | 命令 | 首地址 | 位數 | 數據 | 終 | 和校驗 | |||
STX | CMD | GROUP | BYTES | 1ST | 2ND | LAST | EXT | SUM |
3.具體程序說明
MSComm控件簡介用來提供簡單的串行端口通信功能,也可以用來創建功能完備、事件驅動的高級通信工具。Mscomm控件提供了一系列標準通信命令的使用界面。使用它可以建立與串行端口的連接,通過串行端口再連接到其它設備(如調制解調器、PLC),發出命令,交換數據,以及監視和響應串行連接中發生的事件和錯誤。
數據讀與寫采用函數input和output
(1)窗口加載程序
Private Sub Form_Load()
MSComm1.CommPort = 1 ‘選擇COM1口
MSComm1.Settings = "9600,e,7,1"
If mscomm1.portopen=false then mscomm1.portopen=true
End Sub
(2)數據讀取子程序:
Public Function GetData(ByVal StartAddress As String, ByVal GetBytes As Integer, ByVal Hex_Bytes As String) As String
MSComm1.InputLen = GetBytes * 2 + 4
MSComm1.Output = STX + CMD_Read + StartAddress + Hex_Bytes + ETX + GetSumChk(CMD_Read + StartAddress + Hex_Bytes + ETX)
‘傳送數據組成:起始符+命令+首地址+數據位+結束符+和檢驗碼
GetData = MSComm1.Input
MSComm1.InBufferCount = 0
MSComm1.InputLen = 0
End Function