電子開發網

              電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
              搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 組態王KingView >> 正文

              組態王KingView 實測:西門子200PLC和組態王自由口通信

              作者:佚名    文章來源:網絡    點擊數:    更新時間:2024/8/17

              這幾天測試西門子200PLC和組態王自由口方式進行通信。

              因為以前沒做過這方面的通信,組態王也只熟悉一點,所以網上找點資料看看。

              原以為很簡單的通信,感覺就是觸摸屏和PLC通信那樣,簡單配置一下參數:地址、波特率等。

              現在看來還真是差不多,只是要看的資料很多,結合起來看,弄清楚兩者之間的通信協議。

              明白之后就很簡單。

              整理下測試程序和大家分享下,歡迎指導,學習,分享。


              (1)下圖是西門子200PLC編程軟件STEP7的通信端口設置:和組態王里面設置要一致;

              STEP7中設置plc的參數 


              (2)下圖是PLC編程 STEP7,需要下載亞控的一個初始化程序。

               


                 測試程序如下:

               


                 測試地址如下:

               


              (3)下圖是組態王KingView操作:

              組態王KingView設備配置向導 


                  和PLC中的一致:

              組態王KingView設置串口 


                 數據詞典的操作

               


                  定義變量:

               


                測試畫面制作:

               



              (4)下圖是兩者通信的截圖:

               



               


              (5)總結

              組態王和200PLC之間協議

              選取其中一點,這個沒怎么看懂,歡迎大家指導。

              上位機發送讀指令:

              BYTE1: PLC地址 (1~255)

              BYTE2: 0x00 (讀指令代碼)

              BYTE3: 寄存器類型(0-V, 1-Q, 2-I)

              BYTE4-5: 起始偏移地址(0-9999)

              BYTE6: 數據個數(1~32 n)

              BYTE7: 數據類型(1,2,4 m)

              BYTE8-11: 保留

              BYTE12: 校驗字節

              PLC應答:

              讀成功時:

              BYTE1: PLC地址 (1~255)

              BYTE2: 0x00 (讀指令代碼)

              BYTE3: 寄存器類型(0-V, 1-Q, 2-I)

              BYTE4-5: 起始偏移地址(0-9999)

              BYTE6: 數據個數(1~32 n)

              BYTE7: 數據類型(1,2,4 m)

              BYTE8-n*m+8: 數據

              BYTEn*m+9: 校驗字節



              MAIN

              LD     SM0.1

              CALL   SBR_0:SBR0                  //初始化子程序

              LD     SM0.7

              =      SM30.0

              SBR_0:初始化子程序SUBROUTINE COMMENTS Press F1 for help and example program

              LD     SM0.0

              MOVW   +2, VW8                     //PLC自由口地址,此處每臺機器需設不同的地址

              LD     SM0.0

              MOVB   9, SMB30                    //通訊參數,波特率9600,自由口通訊

              MOVD   &VB100, VD40// VB100:接收緩沖區的首字節

              MOVW   +10, VW54// VW54:存放發送數據按字節異或校驗的次數,10次校驗完已//接收了11個字節了,最后一個12號字節是校驗。

              MOVB   12, VB150

              MOVB   VB9, VB151// VB151賦以本機地址

              MOVD   &VB151, VD60// 發送首地址VD60賦以地址

              MOVB   6, SMB34

              ATCH   INT_0:INT0, 10

              ATCH   INT_1:INT1, 8

              ENI

              INT_0://用作初始化幾個參數。每次接受新一幀數據前調用,完了就進入INT_2(接受地址,//并判斷,)

              LD     SM0.0

              DTCH   10

              MOVD   VD40, VD46//初始化 VD46為VD40

              MOVW   +10, VW44//初始化異或校驗的次數

              MOVW   +10, VW54//初始化異或校驗的次數

              ATCH   INT_2:INT2, 8               //接受中斷起用服務程序INT2

              INT_1://延時轉向INT0//網絡正常時這里應該很少調用

              LD     SM0.0

              MOVB   5, SMB34

              ATCH   INT_0:INT0, 10

              INT_2:接受地址,并判斷

              LDB=   SMB2, VB9                   //地址和本機相符

              MOVW   VW8, AC0// AC0這時存入的是本機地址

              MOVB   255, SMB34//255MS的長延時監控,如超過將做異常處理回到初始化重新再來接//收,要知道傳送一個字節是毫秒級的。就是200字節左右看做異常

              ATCH   INT_3:INT3, 8               //起用中斷服務INT3,接受包

              ATCH   INT_5:INT5, 10              //起用延時監控服務INT5

              CRETI

              LDB=   SMB2, VB9                   //地址和本機不符

              NOT

              ATCH   INT_0:INT0, 10              //返回中斷入口

              ATCH   INT_1:INT1, 8

              INT_3://主接受服務程序,同時做異或校驗

              LD     SM0.0

              XORW   SMW1, AC0// AC0上次已存入本機地址,這次做第一次異或,記住異或的次數

              MOVB   SMB2, *VD46// 指針VD46這時指向VB100,即將讀寫代碼存入VB100

              INCD   VD46//指針VD46指向VB101

              DECW   VW44//異或的次數VW44-1=10-1=9

              LD     SM1.0                       //完成預定的接受字節數//10次異或完就接收11

              //個字節,一楨是12個字節,第12字節是校驗位,

              ATCH   INT_4:INT4, 8               //起用通訊數據處理主程序//第12字節交INT4比較//處理

              INT4://通訊數據處理主服務程序

              LD     SM0.0

              BMB    VB100, VB152, 6//接受報頭拷貝到發送報頭// VB100存讀寫代碼,VB151賦以本

              //機地址,VB152存讀寫代碼

              LD     SM0.0

              DTCH   8                           //暫停響應接受中斷

              INCD   VD46// VD46這時指向VB111,

              MOVB   SMB2, *VD46//校驗位存入*VD46即VB111

              XORW   SMW1, AC0// AC0是前11個字節的異或

              ANDW   16#FF, AC0                  //檢查異或校驗

              LDN    SM1.0                       //異或校驗錯誤

              MOVB   VB100, AC0// VB100存讀寫代碼

              MOVB   16#80, AC1

              ORW    AC0, AC1//這步運算,如讀AC1=0X80,如寫AC1=0X81

              MOVB   AC1, VB152// VB152存入發送幀的BYTE2,VB151是BYTE1:本機地址

              MOVB   16#1, VB158// VB158:BYTE8: 0x01(校驗錯代碼)

              MOVW   +10, VW54//10次異或的次數

              JMP    3                           //校驗錯誤,向PC返回錯誤碼

              LD     SM1.0                       //異或正確//兩數相同異或結果=0,很好理解

              MOVW   +4, VW34

              ATCH   INT_8:INT8, 8               //起用服務程序INT8響應接受中斷,接受包尾

              LD     SM0.0                       //數據處理

              Tags:組態王,自由口通信,200PLC  
              責任編輯:admin
            1. 上一篇文章:
            2. 下一篇文章: 沒有了
            3. 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
              1分 2分 3分 4分 5分

              還可以輸入 200 個字
              [ 查看全部 ] 網友評論
              關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
              返回頂部
              刷新頁面
              下到頁底
              晶體管查詢
              国产国拍亚洲精品福利| jiucao在线观看精品| 亚洲精品福利视频| 亚洲欧美国产∧v精品综合网| 国产精品麻豆高清在线观看| 亚洲精品蜜桃久久久久久| 国产成人精品大尺度在线观看| 青青草原精品国产亚洲av| 亚洲午夜精品久久久久久浪潮| 午夜性爽视频男人的天堂| 久久久久久亚洲精品不卡 | 欧美精品亚洲人成在线观看| 桃花岛精品亚洲国产成人| 精品国产91久久久久久久a| 成人一区二区三区精品| 亚洲精品欧美二区三区中文字幕| 精品成人一区二区三区四区| 欧美free嫩交video| 一本精品中文字幕在线| 久久久久久久久无码精品亚洲日韩 | 99久久精品国产毛片| 尤物国精品午夜福利视频| AAA级久久久精品无码片| 久久精品水蜜桃av综合天堂| 麻豆精品久久精品色综合| 国产精品福利一区二区久久| 精品国产综合区久久久久久| 亚洲国产精品国自产拍AV| 永久免费精品视频| 国产精品无码A∨精品影院| 亚洲一区二区三区在线观看精品中文| 亚洲欧洲国产精品| 国产精品自拍一区| 久久久91人妻无码精品蜜桃HD| 久久夜色精品国产网站| 国产精品哟女在线观看| 国产午夜精品一区二区| 亚洲精品无码成人AAA片| 9191精品国产免费久久| 精品免费久久久久久成人影院| 嫩草影院久久国产精品|