編程自由口通訊的基本步驟
1 設置通訊參數(shù):如果是集成在本機上基于RS485口,在SMB30中設置(prot0口);如果是采用通訊信號板,則在SMB130中設置(prot1口),這2個地址的設置,僅僅是對應的通訊口的不同,參數(shù)是相同的。
2 定義接收信息的控制字節(jié),對于prot0口在SMB87;對于prot1口在SMB187中設置。
3 設置根據(jù)接收控制字節(jié)、通訊參數(shù)的通訊數(shù)據(jù)。
端口0:
SMB87/SMB88/SMW90/SMW92;
端口1:
SMB188/SMB189/SMW190/SMW192。
(根據(jù)協(xié)議用戶自由選擇)
4 設置通訊數(shù)據(jù)總字節(jié)數(shù),SMB94/SMB194。(范圍1~255)。
5 設置中斷事件號、開中斷。發(fā)送完成中斷及接收完成中斷。
6 啟用發(fā)送指令XMT。
7 在發(fā)送完成中斷里編寫接收指令RCV;在接收完成中斷里編寫發(fā)送指令XMT。
假設:做這樣一個例子,讓西門子200smart plc本機RS485口發(fā)送一串字符(siemens)到串口調(diào)試軟件的信息接收區(qū),串口調(diào)試軟件的發(fā)送區(qū)發(fā)送一串(ni hao?。┑?00smart plc數(shù)據(jù)寄存器VB102開始的6個字節(jié)中,接收信息啟用起始符、結(jié)束符方式。
做這個程序前先定義好一些通訊參數(shù):(按上面的7點內(nèi)容展開)
定義SMB30: 自由口通訊、頻率9600、無校驗,SMB30=16#09
定義SMB87: 啟用接收信息控制、啟用起始符、結(jié)束符,SMB87=16#E0
設置起始符: SMB88=16#3A(自由選取)
設置結(jié)束符: SMB89=16#0A(自由選取)
設置中斷事件號: 發(fā)送完成中斷事件號9;接收完成中斷事件號23
開中斷
在上述初始化程序中,啟用發(fā)送指令,并編寫相應的程序
定義好發(fā)送和接收數(shù)據(jù)的數(shù)據(jù)儲存地址區(qū)
西門子S7-200 PLC專用無線通訊終端
了解詳情點擊下圖
程序樣例
1 通訊初始化子程序。
2 在發(fā)送完成中斷中調(diào)用接收指令。
3 在接收完成中斷中調(diào)用發(fā)送指令。
4 在主程序中調(diào)用通訊初始化子程序。
5 定義發(fā)送數(shù)據(jù)塊數(shù)據(jù):
(發(fā)送字符siemens: 16#73; 16#69; 16#65; 16#6D; 16#65; 16#6E; 16#73)在數(shù)據(jù)塊中寫入,其中VB0是發(fā)送數(shù)據(jù)字符的個數(shù)不參與通訊。
6 需要注意的一些問題:在“系統(tǒng)塊”中設置“啟動”項“cpu模式”為“RUN”并確定。
7 編譯、保存用戶程序,將程序下載到cpu中并運行cpu:創(chuàng)建一個便于觀察的“狀態(tài)圖表”:將發(fā)送和接收的數(shù)據(jù)切換到ASCLL顯示模式,并監(jiān)控。
8 連接通訊電纜,打開串口調(diào)試軟件,設置好于PLC通訊SMB30一致的通訊參數(shù),并在數(shù)據(jù)發(fā)送區(qū)填寫好等待發(fā)送的數(shù)據(jù):由起始符開始......到結(jié)束符。
16#3A 16#6E 16#69 空格(占一個字符) 16#68 16#6116#6F 16#21 16#0A
9 這時,只要我點擊串口調(diào)試軟件發(fā)送區(qū)的“手動發(fā)送”按鈕,軟件的接收區(qū)如果通訊正常就會顯示“Siemens”的字符。
10 觀察串口調(diào)試軟件的接收區(qū)回傳回來的siemens字符。
11 回過來觀察PLC“狀態(tài)圖表”中的顯示部分內(nèi)容。
一個簡單的數(shù)據(jù)發(fā)送和接收程序編寫、調(diào)試已經(jīng)完成。其他復雜的通訊都是基于這種模式編寫的。無非就是教案或者數(shù)據(jù)格式等不一樣。
審核編輯:湯梓紅
-
plc
+關(guān)注
關(guān)注
5039文章
14263瀏覽量
481046 -
西門子
+關(guān)注
關(guān)注
98文章
3229瀏覽量
119361 -
RS485
+關(guān)注
關(guān)注
40文章
1293瀏覽量
85184 -
通訊
+關(guān)注
關(guān)注
9文章
936瀏覽量
36190 -
編程
+關(guān)注
關(guān)注
89文章
3704瀏覽量
96269
原文標題:那個看似簡單的西門子200 PLC自由口通訊,真的簡單嗎?
文章出處:【微信號:愛上PLC,微信公眾號:愛上PLC】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
如何通過西門子S7-1200緊湊型PLC實現(xiàn)自由口通訊
西門子plc數(shù)據(jù)類型_西門子plc通訊方式

西門子1200PLC之間的ModbusTCP通訊如何實現(xiàn)?

評論