一区二区三区成人-一区二区三区www-一区二区三区 日韩-一区二区日韩欧美-一区二区日韩精品中文字幕-一区二区日韩

會飛的怪獸
自信 自立 自強
級別: 工控俠客
精華主題: 0
發(fā)帖數量: 301 個
工控威望: 2110 點
下載積分: 4588 分
在線時間: 664(小時)
注冊時間: 2013-01-17
最后登錄: 2024-11-01
查看會飛的怪獸的 主題 / 回貼
樓主  發(fā)表于: 2013-01-17 12:30
西門子自由口通訊程序(注釋很詳細,有興趣的可以參考一下)
S7-200可編程控制器與微機通信之設計和實現
介紹了S7-222 通信方式,著重闡述了自由口通信 參數設定、協議規(guī)劃和通信程序設計。
  可編程控制器(PLC)作為一種高性能 工業(yè)現場控制裝置,已廣泛地用于工業(yè)控制 各個領域。目前,工業(yè)自動控制對PLC 網絡通信能力要求越來越高, PLC與上位機之間、PLC與PLC之間都要能夠進行數據共享和控制。
  飛剪控制系統要求 遠離PLC 控制室里,實時監(jiān)控電機、供紙、刀輥等設備。上位機為普通PC機,下位機為 SIEMENS S7-222 PLC。 實際開發(fā)中,采用自由口通信模式,自定義 PC與 PLC 通信協議,用Step7編寫PLC端 通信程序,而  PC端用VC6.0實現串行通信的控制和監(jiān)控界面的顯示。
2.通信方式及原理
  S7-200系列PLC通信方式有三種:一種是點對點(PPI)方式,用于與西門子公司 PLC編程器或其它產品通信,其通信協議是不公開 。另一種為DP方式,這種方式使 PLC可通過Profibus DP通信接口接入現場總線網絡, 擴大PLC 使用范圍。最后一種方式是自由口(FreePort)通信方式,由用戶定義通信協議,實現PLC與外設 通信。本系統中采用自由口通信方式。它是S7-200系列PLC一個很有特色 功能。這種方式不需要增加投資,具有較好 靈活性,適合小規(guī)模控制系統。自由口通信 物理接口上要求雙方都使用RS485接口,波特率最高為38400bps。雖然PC機 標準串口為RS232,但西門子公司提供 PC/PPI電纜帶有RS232 /RS485電平轉換器,因此在不增加任何硬件 情況下,可以很方便地將PLC和PC機互聯。
  2.1自由口模式的初始化
  PLC 自由口模式通信編程首先是對串口初始化。對S7-200PLC 初始化是通過對特殊存儲字節(jié)SMB30(端口0)寫入通信控制字,來設置通信的波特率、奇偶校驗、停止位和數據位數。顯然,這些設定必須與上位機設定值相一致。另外還可選擇通信模式和主從站模式,各具體存儲位內容可參考SIMATIC S7-200系統手冊。
  2.2自由口模式下收發(fā)數據
  初始化自由端口通信模式后,就可以進行數據的收發(fā)。
  (1) 發(fā)送數據指令 XMT
  格式:XMT Table,Port。可以用 XMT指令發(fā)送數據,XMT指令激活發(fā)送緩沖區(qū)(從Table開始 變量存儲區(qū))中的數據。數據緩沖區(qū) 第一個數據指明了要發(fā)送 字節(jié)數,Port指明了用于發(fā)送 端口,緩沖區(qū)最多可以有255個字符。在發(fā)完緩沖區(qū) 最后一個字符時,會產生一個中斷 (對端口 0為中斷事件9)。本例 XMT緩沖區(qū) 格式如表1。其中,狀態(tài)字節(jié)表示PLC是否正確接收了上位機所傳數據;上傳數據為PLC上傳給PC 數據,需將9字節(jié) 16進制數編碼為18字節(jié) ASIIC碼,所以字節(jié)數為18;BCC為上傳數據 異或和,同樣將16進制數編碼為ASIIC碼;結束字符的值為26。
  
表1 發(fā)送緩沖區(qū)

表2 接收緩沖區(qū)
  RCV Table,Port。用 RCV指令接收最多為255個字符的數據,這些字符存儲 緩沖區(qū)中。在接收到結束字符時,會產生一個中斷(對端口 0為中斷事件23)。本例的RCV緩沖區(qū) 格式如表2。其中,命令類型表示上位機讓PLC 執(zhí)行什么操作,如讀或寫;目標站號是分配給PLC 一個代號;起始地址是PLC要進行讀寫的存儲區(qū)的起始地址;讀寫字節(jié)數是PLC接到命令后,對存儲區(qū)進行讀寫的字節(jié)數,本例中最多寫入16字節(jié)、讀出9字節(jié);寫入數據是上位機要寫入PLC的數據, 讀命令不起作用;BCC是從命令類型開始到寫入數據為止的43字節(jié)數據 異或和。從目標站號到BCC這幾項內容,都是把16進制數編碼為ASIIC碼來表示的。
3.自由口通信程序設計
  通信程序 設計需遵循一定的規(guī)則,如中斷通信處理程序要短小精悍、要避免XMT與RCV指令同時在一個端口執(zhí)行等。整個PLC通信程序包括主程序、通信初始化子程序、校驗子程序、讀寫數據子程序和發(fā)送完成、接收完成中斷服務程序。
  3.1主程序
  通信主程序是PLC實現接收、發(fā)送功能 主框架。其主要流程為查詢接收是否完成,校驗,再根據類型執(zhí)行讀、寫等操作。它的用是控制程序的流程,校驗、讀寫等具體工作由相應的程序完成。流程如圖1。
  3.2通信初始化程序
  通信初始化子程序設置自由口通信的關參數,對接收信息控制寄存器SMB87寫入控制字,定義起始字符、結束字符和接收超時。設好自由口模式的些參數后,還要連接中斷事件和中斷服務程序,并打開中斷。最后,把接收、發(fā)送緩沖區(qū)寫入初值即可。
  3.3校驗子程序
  每次PLC接收完1幀數據,就調用此子程序進行校驗。進入子程序后,先清除接收完成標志位,再計算所接收數據 校驗和BCC。如果正確,還要檢驗結束字符是否為‘G’。不是的話,說明數據報文長度不對或傳輸過程中發(fā)生了錯誤,需要向上位機返回相應 出錯信息。流程如圖2。
  
圖1 主程序流程圖

圖2 校驗子程序流程圖
  3.4讀、寫數據子程序
  這2個子程序 任務是把PLC存儲區(qū)中 數據發(fā)給上位機或把上位機傳來 數據寫入PLC存儲區(qū)。二者 流程相似,只是數據流向不同。進入子程序后,先停止接收,然后完成數據傳輸,最后發(fā)送應答報文。不同之處就是應答報文中的狀態(tài)字節(jié):讀操作時是1、寫操作時是2。
  3.5接收、發(fā)送完成中斷服務程序
  當PLC接收到結束字符后產生中斷(事件號9)或數據發(fā)送結束后產生中斷(事件號23),這兩個服務程序被執(zhí)行。接收完,先把接收完標志置1,然后再次啟動接收。發(fā)送完,先清除校驗正確標志,再把接收緩沖區(qū)中的結束字符和計算出的接收BCC結果清零,最后再次啟動接收。
  由于是半雙工通信,因此PLC無論是發(fā)送和接收完數據后,都必須將通信口設置成接收狀態(tài)。否則,PLC就接收不到任何數據了。
4.上位機 通信編程
  上位機通過RS232口與PLC進行通信,Windows環(huán)境串口通信程序利用VC6編寫。VC6編寫串口通信程序通常有MSCOMM控件和通信API兩種方法。二者各有優(yōu)缺點。MSCOMM控件封裝了微機串口通信的基本功能,使用者只需設置一些基本參數,就可以 串口收發(fā)數據了。這種方法簡單,易于編程人員使用,現 已有很多例子供參考。用通信API編寫串口程序相對復雜一些。開發(fā)者要直接使用Windows提供 一組API函數來完成上述控件封裝好 功能。 使用API編程比使用控件更復雜,但同時也更靈活。通信控件已經封裝好 功能是無法改變 ,而使用API就能針對通信協議編寫效率更高的代碼。
   飛剪控制系統的上位機程序中,使用通信API編寫了串口讀寫的模塊。接收時,程序要查找起始字符‘g’,以確定1幀數據 開始;再根據下一個狀態(tài)字節(jié)判斷通信的正確性;最后,把長度為23字節(jié) 數據幀接收好,并準備接收下一幀。發(fā)送過程不用判斷數據內容,執(zhí)行發(fā)送函數即可。需要注意的是:由于 PLC通信口是半雙工的,所以在PLC向上位機上傳數據時,上位機要等1幀數據接收完畢,再執(zhí)行發(fā)送操作,以避免收發(fā)沖突。
  
圖3 上位機串口通信流程圖
  本系統取PC機和PLC各自的特點,實現了對飛剪系統 實時監(jiān)控。 利用PLC(下位機 )的自由口通信協議和上位機的VC開發(fā)工具,可以方便地開發(fā)出PC機和PLC通信應用軟件。這種方法節(jié)省投資,對小規(guī)模 系統極具現實意義。系統具有實時性好、速度快、可靠性高、操作方便等優(yōu)點,達到了預期 效果。經現場調試及運行表明,該系統適合于飛剪系統的實時監(jiān)控。
[ 此帖被liusenedc在2013-01-17 12:45重新編輯 ]
附件: 自由口通訊.zip (5 K) 下載次數:4045
網站提示: 請不要用迅雷下載附件,容易出錯
本帖最近評分記錄:
  • 下載積分:+1(15039070327)
  • 下載積分:+1(wzb2015) 謝謝樓主的分享!
  • 下載積分:+5(ysz0377) 好人!
  • 下載積分:+2(jxycomliu) 感謝!
  • 熟悉三菱、信捷、臺達、歐姆龍等多種PLC編程,威綸、三菱、顯控等觸摸屏設計和自動化系統設計, 承接各種非標自動化設備的PLC程序開發(fā),長期為客戶提供整套自動化方案,深圳或珠三角地區(qū),歡迎加QQ 908643454
    你你我我他他
    幸好有你陪伴,工控人家園。謝謝。
    級別: 工控俠客
    精華主題: 0
    發(fā)帖數量: 483 個
    工控威望: 2462 點
    下載積分: 2858 分
    在線時間: 579(小時)
    注冊時間: 2020-03-27
    最后登錄: 2024-11-17
    查看你你我我他他的 主題 / 回貼
    1樓  發(fā)表于: 2022-11-27 12:51
    學習學習。

    主站蜘蛛池模板: 成人网久久| 99久久精品国产免费| 精品一区二区高清在线观看| 亚洲AV午夜精品麻豆AV| 国产色综合久久五月色婷婷中文| 大象视频污| 男男浴室吸乳play| 成人免费草草视频| 激情综合站| 亚洲国产无线码在线观看| 91欧洲在线视精品在亚洲| 91桃色视频| 日韩欧美中文字幕一区| 亚洲精品国偷拍自产在线观看蜜臀| 久久观看视频| 爽好舒服把腿张小说| 天堂avav| 97国产自拍| 国产区最新| 91尤物在线| 亚洲mm色国产网站| 青草视频网站| 九九国产在线视频| anal22日本人视频| 92在线视频| 亚洲啊v天堂| 污书屋| 青青青国产| chinese老头和老太交hd| 动漫美女羞羞| 久久黄色免费| cosplay 极品videos| 亚洲国产精品综合一区在线| 亚洲网色| 日本xxwwwxxxx| 欧美精品综合一区二区三区| 耽美肉文高h| 国产乱插| 国产日韩欧美综合一区二区三区| 无码AV毛片色欲欧洲美洲| 成人免费视频在|