欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 組態(tài)王KingView入門教程實例 >> 正文

組態(tài)王KingView 實測:西門子200PLC和組態(tài)王自由口通信

作者:佚名    文章來源:網(wǎng)絡(luò)    點擊數(shù):    更新時間:2024/8/17

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

因為以前沒做過這方面的通信,組態(tài)王也只熟悉一點,所以網(wǎng)上找點資料看看。

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

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

明白之后就很簡單。

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


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

STEP7中設(shè)置plc的參數(shù) 


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

 


   測試程序如下:

 


   測試地址如下:

 


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

組態(tài)王KingView設(shè)備配置向?qū)?src="/Article/UploadFiles/202408/2024081711202390.jpg" 


    和PLC中的一致:

組態(tài)王KingView設(shè)置串口 


   數(shù)據(jù)詞典的操作

 


    定義變量:

 


  測試畫面制作:

 



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

 



 


(5)總結(jié)

組態(tài)王和200PLC之間協(xié)議

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

上位機發(fā)送讀指令:

BYTE1: PLC地址 (1~255)

BYTE2: 0x00 (讀指令代碼)

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

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

BYTE6: 數(shù)據(jù)個數(shù)(1~32 n)

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

BYTE8-11: 保留

BYTE12: 校驗字節(jié)

PLC應答:

讀成功時:

BYTE1: PLC地址 (1~255)

BYTE2: 0x00 (讀指令代碼)

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

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

BYTE6: 數(shù)據(jù)個數(shù)(1~32 n)

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

BYTE8-n*m+8: 數(shù)據(jù)

BYTEn*m+9: 校驗字節(jié)



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自由口地址,此處每臺機器需設(shè)不同的地址

LD     SM0.0

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

MOVD   &VB100, VD40// VB100:接收緩沖區(qū)的首字節(jié)

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

MOVB   12, VB150

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

MOVD   &VB151, VD60// 發(fā)送首地址VD60賦以地址

MOVB   6, SMB34

ATCH   INT_0:INT0, 10

ATCH   INT_1:INT1, 8

ENI

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

LD     SM0.0

DTCH   10

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

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

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

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

INT_1://延時轉(zhuǎn)向INT0//網(wǎng)絡(luò)正常時這里應該很少調(diào)用

LD     SM0.0

MOVB   5, SMB34

ATCH   INT_0:INT0, 10

INT_2:接受地址,并判斷

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

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

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

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

ATCH   INT_5:INT5, 10              //起用延時監(jiān)控服務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上次已存入本機地址,這次做第一次異或,記住異或的次數(shù)

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

INCD   VD46//指針VD46指向VB101

DECW   VW44//異或的次數(shù)VW44-1=10-1=9

LD     SM1.0                       //完成預定的接受字節(jié)數(shù)//10次異或完就接收11

//個字節(jié),一楨是12個字節(jié),第12字節(jié)是校驗位,

ATCH   INT_4:INT4, 8               //起用通訊數(shù)據(jù)處理主程序//第12字節(jié)交INT4比較//處理

INT4://通訊數(shù)據(jù)處理主服務程序

LD     SM0.0

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

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

LD     SM0.0

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

INCD   VD46// VD46這時指向VB111,

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

XORW   SMW1, AC0// AC0是前11個字節(jié)的異或

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存入發(fā)送幀的BYTE2,VB151是BYTE1:本機地址

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

MOVW   +10, VW54//10次異或的次數(shù)

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

LD     SM1.0                       //異或正確//兩數(shù)相同異或結(jié)果=0,很好理解

MOVW   +4, VW34

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

LD     SM0.0                       //數(shù)據(jù)處理

Tags:組態(tài)王,自由口通信,200PLC  
責任編輯:admin
相關(guān)文章列表
組態(tài)王編程軟件如何設(shè)置按鈕圖元
組態(tài)王用按鍵如何實現(xiàn)畫面切換
組態(tài)王編程軟件如何配置報警信息
組態(tài)王和三菱PLC設(shè)備數(shù)據(jù)采集監(jiān)控之入門實戰(zhàn)篇—組態(tài)王采集三菱F
組態(tài)王編程軟件如何設(shè)置網(wǎng)絡(luò)配置信息
組態(tài)王軟件如何新建網(wǎng)絡(luò)站點的方法
組態(tài)王之反應監(jiān)控中心的實時數(shù)據(jù)報表方法
通過數(shù)據(jù)庫記錄,實現(xiàn)組態(tài)王監(jiān)控設(shè)備運行時長
組態(tài)王連接SQL數(shù)據(jù)庫的操作步驟,組態(tài)王與SQL數(shù)據(jù)庫交互
組態(tài)王與SqlServer數(shù)據(jù)庫交互總結(jié)_組態(tài)王讀取sql數(shù)據(jù)庫
KingView組態(tài)王之車間的報警系統(tǒng)設(shè)置方法
KingView組態(tài)王使用數(shù)據(jù)庫控件實現(xiàn)查詢-新增記錄功能
KingView組態(tài)王中結(jié)構(gòu)變量的定義和使用方法
KingView組態(tài)王組態(tài)軟件如何插入按鈕圖元,組態(tài)王實例
三菱FX系列PLC以太網(wǎng)連接組態(tài)王,三菱PLC和組態(tài)王的以太網(wǎng)連接
S7-200和組態(tài)王的連接,cpu226 PLC 與組態(tài)王如何連接
KingView組態(tài)王編程軟件如何建立溫度控件
KingView 組態(tài)王如何建立TCP通訊
KingView組態(tài)王怎么建立變量
三菱FX3U PLC與組態(tài)王通信, FX3U與組態(tài)王通信設(shè)置,組態(tài)王通訊設(shè)
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務 - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 灵寿县| 清丰县| 永安市| 永仁县| 九龙县| 鄂州市| 株洲县| 勐海县| 社旗县| 滕州市| 葫芦岛市| 当阳市| 文登市| 林州市| 高邮市| 廊坊市| 阆中市| 昔阳县| 赤峰市| 兰考县| 杂多县| 奈曼旗| 扎赉特旗| 阜宁县| 广德县| 阿坝县| 辽源市| 西和县| 赣榆县| 岚皋县| 舞钢市| 峨眉山市| 城口县| 南昌县| 山东省| 高青县| 凤庆县| 巩留县| 博乐市| 绵阳市| 陕西省|