上海基诺发动机装配: 如何實現S7-200SMART自由口通訊

上海基诺132期出奖号 www.mocawy.com.cn 2017-08-25 20:06 更新 盧思敏 瀏覽:5558人次 微信二維碼

學工控技術,拿10萬年薪

點下面注冊
馬上注冊,免費學習plc視頻教程
馬上注冊,免費學習超過100課時視頻教程,免費下載海量學習資料


自由口通訊協議的關鍵條件

定義開始接收消息和停止接收消息的條件。


1、空閑線檢測:設置il=1,sc=0,bk=0,smw90/smw190>0

空閑線條件定義為傳輸線路上的安靜或者空閑的時間。SMW90/SMW190中是以ms為單位的空閑時間。在該方式下,從執行接收指令開始起動空閑時間檢測。在傳輸線空閑的時間大于等于SMW90/SMW190中設定的時間之后接收的第一個字符作為新信息的起始字符。接收消息功能將會忽略在空閑時間到達之前接收到的任何字符,并會在每個字符后面重新啟動空閑線定時器。

空閑線時間應大于以指定波特率傳送一個字符所需要的時間??障邢呤奔淶牡湫臀災付ǖ牟ㄌ羋蝕?/span>3個字符所需要的時間。傳輸速率為19200bit/s時候,可設置空閑時間為2ms。

對于二進制協議,沒有特定起始字符的協議或指定了消息之間最小時間間隔的協議,可以將空閑線檢測用作開始條件。


2、起始字符檢測:設置il=0,sc=1,bk=0,忽略smw90/smw190

起始字符是消息的第一個字符,以SMB88/SMB188中的起始字符作為接收到的消息開始的標志。接收消息功能忽略起始字符之前收到的字符,起始字符和起始字符之后收到的所有字符都存儲在消息緩沖區中。起始字符檢測一般用于ASCII協議。


3、空閑線和起始字符:設置il=1,sc=1,bk=0,SMW90/SMW190大于0

滿足空閑線條件之后,接收消息功能查找指定的起始字符。如果接收到的字符不是smB88/smb188指定的起始字符,將開始重新檢測空閑線條件。在滿足空閑線條件之前接收到的以及起始字符之前接收到的字符都將會被忽略。這種方式尤其適合用于通訊鏈路上有多臺設備的情況。


4 、break檢測:設置il=0,sc=0,bk=1,檢測smw90/smw190smb88/smb188

以接收到的break(斷開)作為接收消息的開始。當接收到的數據保持為0的時間大于完整字符(包含起始位,數據位,奇偶校驗位和停止位)傳輸的時間,表示檢測到break。斷開條件之前接收到的字符將忽略,斷開條件之后接收到的任意字符都會存儲在消息緩沖區中。


5、break和起始字符:il=0,sc=1,bk=1,忽略smw90/smw190

斷開條件滿足后,接收消息功能將查找指定的起始字符。如果接收到的字符不是起始字符,將重新搜索斷開條件。所有在斷開條件滿足之前在接收到起始字符之前接收的字符都會忽略。起始字符和所有后續字符一起存入消息緩沖區


6、任何字符開始接受:設置il=1,sc=0,bk=0,smw90/smw190=0

忽略smb88/smb188中的起始字符。應為smw90/smw190中的空閑線時間為0,接收指令已經執行,便將立即開始強制接收所有的任意字符,并將存入消息緩沖區。


7、任意字符開始,消息定時器超過則結束接收消息il = 1,sc = 0,bk = 0,smw90/smw190 = 0,忽略smb88/smb188中的起始字符。以上設置用于實現從任意字符開始接收消息。

此外設置c/m = 1,tmr =1,用smw92/smw192設置以ms為單位的消息超時時間,用消息定時器監視接收是否超時。如果未滿足其他結束條件,在消息定時器超時的時候,將會終止接收消息功能。這對自由口協議的主站是非常有用的。


1.SMB30定義


定義通訊的傳輸速度和模式

SMB30=16#05=2# 00 0 001 01

其中從高位到低位依次:

00:表示無校驗

0:表示8個數據位

001:表示波特率19200

01:表示自由口通訊


2.SMB87定義


定義接收消息控制字節

SMB87=16#FC = 2#1111 1100

其中從高位到低位依次:

en=1:啟用接受消息功能

sc=1:使用SMB88 的值監測數據的起始

ec=1:使用SMB89 的值監測數據的終止

il=1:使用SMW90 的值監測空閑條件

c/m=1:定時器為消息定時器

tmr=1:超過SMW92 中的時間段,則終止接收

bk=0:忽略中斷條件

SM87.0=0 (無效)


3.定義SMB88、SMB89、SMW90、SMW92、SMB94


SMB88:定義開始字符為 2A

SMB89:定義結束字符為 0A

SMW90:空閑線時間段,單位:MS

SMW92:消息定時器的超時值(單位:MS),若超過該時間段,則停止接受消息

SMB94:要接受的最大字符數(1--255個字節);即使未使用字符計數消息終止,此范圍也必須設置為所需的最大數據交換區

l SMW90=1000000us/19200 *11*3

其中:1000000/19200得到傳輸1個位需要多長時間,一個字符11個位,檢測空閑3.5個字符,約等于3個字符

l SMW92=1000000us/19200 *11*20*1.5

其中:20表示字節接收最大的字節數,SMB94有關,1.5倍表示整個消息長度的倍數


4.執行接受指令

TBL:


5.連接接受完成中斷和發送完成中斷,并且開放中斷


6.接收完成中斷

由于我們使用的RS485USB的線纜是半雙工,發送和接收需要間隔至少5ms的時間。所以接 收完成后先延時5ms在發送。



7.SMB34定時中斷:

延時時間到,執行發送指令,把先期接收到的數據再發送給PC。



8.發送完成中斷:


推薦學習相關視頻:

西門子S7-300使用指南

西門子s7-300中高級應用技術

西門子S7-200PLC從入門到精通

西門子S7-200 SMART PLC編程應用入門



叨叨直播課
19年08月11日

好書推薦
< >

  • 三菱 PLC 技術功能指令應用詳解

    為三菱FX2N系列PLC順控程序設計和功能指令講解,重點是功能指令講解。為了使讀者能夠在較短的時間內正確理解、 掌握和應用功能指令,書中除了對指令本身作了詳細的說明外...

  • 三菱FX系列PLC定位控制應用技術

    以三菱電動機的三菱FX系列PLC為目標機型,以廣大自動化技術的初學者為對象而編寫的一本專門講解定位控制技術的入門書

  • PLC模擬量與通信控制應用實踐

    以三菱fx2n plc為目標機型,介紹了plc在模擬量控制和通信控制中的應用。在模擬量控制中, 重點介紹了三菱fx2n plc模擬量特殊??楹蚿id控制應用...

  • 工控技術應用數學

    本書是針對工作在生產第一線的電工編寫的。他們或因數學知識沒有學好,或因時間長了有所遺忘等種種原因, 在學習和應用電工電子技術...

  1. 1
  2. 2