<tr id="stl47"><source id="stl47"></source></tr>

<form id="stl47"><span id="stl47"><track id="stl47"></track></span></form>
<wbr id="stl47"></wbr>
    <form id="stl47"></form>
      <sub id="stl47"></sub>
        <tr id="stl47"></tr>
      1. <form id="stl47"></form>
        <form id="stl47"><th id="stl47"><noscript id="stl47"></noscript></th></form>

          <sub id="stl47"></sub><table id="stl47"><th id="stl47"><track id="stl47"></track></th></table>
            三菱PLC通訊:實現VB和三菱FX系列PLC的通訊
            發布者:杭州瑞菱自動化設備有限公司  發布時間:2021-12-09 16:26:23  訪問次數:118

            在工業生產中,人們常常面臨著數據采集與管理。作為工廠自動化的三大支柱可編程控制器 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

          免責聲明:焊材網轉載作品均注明出處,本網未注明出處和轉載的,是出于傳遞更多信息之目的,并不意味 著贊同其觀點或證實其內容的真實性。如轉載作品侵犯作者署名權,或有其他諸如版權、肖像權、知識產權等方面的傷害,并非本網故意為之,在接到相關權利人通知后將立即加以更正。聯系電話:0571-87774297。
          0571-87774297  
          国产www在线观看