<li id="cv9v7"><meter id="cv9v7"><th id="cv9v7"></th></meter></li>

    1. <label id="cv9v7"></label>
      新聞中心您的位置:網(wǎng)站首頁 >新聞中心 >Siemens西門子s7-200CPU自由口通信

      Siemens西門子s7-200CPU自由口通信

      更新時間:2016-07-05   點(diǎn)擊次數(shù):535次

      Siemens西門子s7-200 CPU自由口通信

      西門子S7-200 CPU的通信口可以設(shè)置為自由口模式。
      選擇自由口模式后,用戶程序就可以*控制通信端口的操作,通信協(xié)議也*受用戶程序控制。
      S7-200 CPU上的通信口在電氣上是標(biāo)準(zhǔn)的RS-485半雙工串行通信口。此串行字符通信的格式可以包括:
      一個起始位
      7或8位字符(數(shù)據(jù)字節(jié))
      一個奇/偶校驗(yàn)位,或者沒有校驗(yàn)位
      一個停止位
      自由口通信速波特率可以設(shè)置為1200、2400、4800、9600、19200、38400、57600或112500。
      凡是符合這些格式的串行通信設(shè)備,理論上都可以和S7-200 CPU通信。
      自由口模式可以靈活應(yīng)用。Micro/WIN的兩個指令庫(USS和Modbus RTU)就是使用自由口模式編程實(shí)現(xiàn)的。
      在進(jìn)行自由口通信程序調(diào)試時,可以使用PC/PPI電纜(設(shè)置到自由口通信模式)連接PC和CPU,在PC上運(yùn)行串口調(diào)試軟件(或者Windows的HyperTerminal-超級終端)調(diào)試自由口程序。
      USB/PPI電纜和CP卡不支持自由口調(diào)試。
      自由口通信要點(diǎn)

      應(yīng)用自由口通信首先要把通信口定義為自由口模式,同時設(shè)置相應(yīng)的通信波特率和上述通信格式。用戶程序通過特殊存儲器SMB30(對端口0)、SMB130(對端口1)控制通信口的工作模式。
      CPU通信口工作在自由口模式時,通信口就不支持其他通信協(xié)議(比如PPI),此通信口不能再與編程軟件Micro/WIN通信。CPU停止時,自由口不能工作,Micro/WIN就可以與CPU通信。
      通信口的工作模式,是可以在運(yùn)行過程中由用戶程序重復(fù)定義的。

      Siemens西門子s7-200 CPU自由口通信
      如果調(diào)試時需要在自由口模式與PPI模式之間切,可以使用SM0.7的狀態(tài)決定通信口的模式;而SM0.7的狀態(tài)反映的是CPU運(yùn)行狀態(tài)開關(guān)的位置(在RUN時SM0.7="1",在STOP時SM0.7="0")自由口通信的核心指令是發(fā)送(XMT)和接收(RCV)指令。在自由口通信常用的中斷有“接收指令結(jié)束中斷”、“發(fā)送指令結(jié)束中斷”,以及通信端口緩沖區(qū)接收中斷。
      與網(wǎng)絡(luò)讀寫指令(NetR/NetW)類似,用戶程序不能控制通信芯片而必須通過操作系統(tǒng)。用戶程序使用通信數(shù)據(jù)緩沖區(qū)和特殊存儲器與操作系統(tǒng)交相關(guān)的信息。
      XMT和RCV指令的數(shù)據(jù)緩沖區(qū)類似,起始字節(jié)為需要發(fā)送的或接收的字符個數(shù),隨后是數(shù)據(jù)字節(jié)本身。如果接收的消息中包括了起始或結(jié)束字符,則它們也算數(shù)據(jù)字節(jié)。
      調(diào)用XMT和RCV指令時只需要通信口和數(shù)據(jù)緩沖區(qū)的起始字節(jié)。
      XMT和RCV指令與NetW/NetR指令不同的是,它們與網(wǎng)絡(luò)上通信對象的“”無關(guān),而僅對本地的通信端口操作。如果網(wǎng)絡(luò)上有多個設(shè)備,消息中必然包含信息;這些包含信息的消息才是XMT和RCV指令的理對象。
      由于S7-200的通信端口是半雙工RS-485芯片,XMT指令和RCV指令不能同時有效。
      XMT和RCV指令
      XMT(發(fā)送)指令的使用比較簡單。RCV(接收)指令所需要的控制稍多一些。
      RCV指令的基本工作過程為:
      在邏輯條件滿足時,啟動(一次)RCV指令,進(jìn)入接收等待狀態(tài)監(jiān)視通信端口,等待設(shè)置的消息起始條件滿足,然后進(jìn)入消息接收狀態(tài)如果滿足了設(shè)置的消息結(jié)束條件,則結(jié)束消息,然后出接收狀態(tài)所以,RCV指令啟動后并不一定就接收消息,如果沒有讓它開始消息接收的條件,就一直于等待接收的狀態(tài);如果消息始終沒有開始或者結(jié)束,通信口就一直于接收狀態(tài)。這時如果嘗試執(zhí)行XMT指令,就不會發(fā)送任何消息。
      所以確保不同時執(zhí)行XMT和RCV非常重要,可以使用發(fā)送完成中斷和接收完成中斷功能,在中斷程序中啟動另一個指令。
      在《S7-200系統(tǒng)手冊》和Micro/WIN 在線幫助中關(guān)于XMT和RCV指令的使用有一個例子。這個例子非常經(jīng)典,強(qiáng)烈建議學(xué)習(xí)自由口通信時先做通這個例子。
      字符接收中斷
      S7-200 CPU了通信口字符接收中斷功能,通信口接收到字符時會產(chǎn)生一個中斷,接收到的字符暫存在特殊存儲器SMB2中。通信口Port0和Port1共用SMB2,但兩個口的字符接收中斷不同。
      每接收到一個字符,就會產(chǎn)生一次中斷。對于連續(xù)發(fā)送消息,需要在中斷服務(wù)程序中將單個的字符排列到用戶規(guī)定的消息保存區(qū)域中。實(shí)現(xiàn)這個功能可能使用間接尋址比較好。
      對于高通信速率來說,字符中斷接受方式需要中斷程序的執(zhí)行速度足夠快。
      一般情況下,使用結(jié)束字符作為RCV指令的結(jié)束條件比較可靠。如果通信對象的消息幀中以一個不定的字符(字節(jié))結(jié)束(如校驗(yàn)碼等),就應(yīng)當(dāng)規(guī)定消息或字符超時作為結(jié)束RCV指令的條件。但是往往通信對象未必具有嚴(yán)格的協(xié)議規(guī)定、工作也未必可靠,這就可能造成RCV指令不能正常結(jié)束。這種情況下可以使用字符接收中斷功能。

      Siemens西門子s7-200 CPU自由口通信

       

      主站蜘蛛池模板: 亚洲色精品aⅴ一区区三区| 四虎www免费人成| 在线毛片片免费观看| 狼群影院在线观看免费观看直播| 亚洲精品在线免费观看| 亚洲高清视频在线观看| 亚洲一本一道一区二区三区| 成在线人直播免费视频| 永久看日本大片免费35分钟| 亚洲精品综合一二三区在线 | 亚洲中文无码线在线观看| 亚洲va中文字幕无码久久| 亚洲乱色伦图片区小说| 永久免费av无码网站yy| 亚洲五月六月丁香激情| 午夜福利不卡片在线播放免费| av在线亚洲欧洲日产一区二区| 亚洲一区二区三区91| 麻豆国产入口在线观看免费 | 久久亚洲AV无码西西人体| 亚洲日本在线电影| 亚洲av再在线观看| 亚洲色大成网站www永久网站| 日本免费网站在线观看| 亚洲日本乱码卡2卡3卡新区| 免费视频成人片在线观看| 亚洲国产综合精品中文字幕| 蜜桃传媒一区二区亚洲AV| 国产又大又粗又长免费视频| 亚洲国产精品无码中文字| 亚洲A∨精品一区二区三区下载| 午夜亚洲国产成人不卡在线| 亚洲另类无码专区丝袜| 亚洲欧洲中文日韩久久AV乱码| 国产成人精品一区二区三区免费| 国产成人精品久久亚洲高清不卡 | 国产色爽免费无码视频| 亚洲性无码一区二区三区| 亚洲中久无码永久在线观看同| 无遮挡a级毛片免费看| 国产精品免费_区二区三区观看|