



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用VC+開發PC與OMRON PLC間的一種通訊程式 本文介紹了一個使用Visual C+編寫的通信程式,主要實現微機與OMRON PLC間的通信,並對它們間的通信協議作了闡述。 一、前言 可編程控制器是一種數位運算操作的電子系統,專為在工業環境下應用而設計。它採用了可編程式的記憶體,用於其內部存儲程式,執行邏輯運算、順序控制、定時、計數和算術操作等面向用戶的指令,並通過數位式或類比式輸入輸出控制各種類型的機械的生產過程。可編程控制器及其有關外部設備,都按易於與工業控制系統聯成一個整體、易於擴充其功能的原則設計。早期的PLC以數位量的順序控制為主,提供了簡單的慢速的通信功能(只支援RS232、RS485、多採用Modbus協定),現在的PLC不僅具有邏輯運算、順序控制、定時、計數和算術操作,而且還具有A / D、D / A轉換,數值計算和資料處理等功能。它既可以對開關量進行控制,也可以對模擬量進行控制,隨著PLC功能不斷擴充,它還有通訊聯網功能,舉例C200HX / HG / HE的OMRON PLC的CPU內的RS - 232C埠和外設埠支援通信功能就有與編程設備(如編程器,CPT,或CXP (中文版)進行通信、與個人電腦和其他外設進行上位機鏈結通信、與個人電腦和其他外設進行RS - 232C、與其他PC進行1:1、再有是與裝有NT鏈結介面的可編程終端(PT)進行NT鏈結通信(1:1、1:N),本課題就是基於OMRON PLC的鏈結通信(有通信協定),用VC+開發的上位機與PLC間的通信。 二、OMRON PLC的通信協議 目前,隨著PLC的快速發展,越來越多的PLC生產廠商開發了它與電腦的通信功能(主要是利用電腦串口進行通信),本文是以C200HE PLC為例,作詳細闡述,本文的通信協議採用的是上位機鏈結通信。上位機鏈結通信通過在上位機與PLC之間交換命令和應答實現的。在一次交換中傳輸的命令和應答資料稱為一幀,一個幀最多可包含131個資料字元。 識別碼和正文取決於接收到的上位機聯結命令,結束碼表示命令完成的狀態(即是否有錯誤發生),當應答超過132字元,它必須分成若干幀。結束碼是應答幀中表示PLC應答的資訊。例結束代碼為00表示正常結束,13表示FCS錯誤,14表示格式錯誤,15表示入口碼資料錯誤,18表示幀長度錯誤,A3表示傳輸資料時因FCS錯誤引起終止,A8表示傳輸資料時因幀長度錯誤引起終止。 本文的上位機命令幀包括讀寫PLC單元中的資料的命令。讀命令幀為:01RR0100000141* + CHR $(13),意思是上位機讀取節點為1的PLC中的IR0100單元中的內容。寫命令幀為:01WR0100000171* + CHR $(13),意思是寫一個數到節點為1的PLC的IR0100單元中。 三、系統結構圖 上位電腦與多個PLC進行通信,必須連接一個RS232 / 422電平轉換器,RS422採用平衡發送接收方式,它具有傳輸距離長、抗干擾能力強和多點通信能力,最多可以接32台PLC,如圖1所示,每一台PLC都必須掛一個COM06單元進行RS422方式連接,所有的PLC與電腦間的通訊採用的是PLC上位機鏈結通信協定。 1、硬體設置 RS232 / 422轉換器的設置開關撥到422方式,OMRON PLC上的COM06通信板單元同樣設置為422方式和四線制。 2、參數設置 上下位機的通信串列傳輸速率設置為9600,資料格式設置為E,7,2。 3、節點設置 在PLC的DC6558單元中設置節點號00(初始值) 31(號機)。 四、用Visual C+6.0編寫串列通信程式 本文的上位機鏈結通信程式是用Visual C+6.0編寫的,主要是利用VC+中的一個通信控制項來實現的。 首先利用MFC AppWizard ( exe ) 建立一個基於對話方塊,支援Activex控制項,命名為Transcomn的應用程式。然後在對話方塊中加入一些控制項,其中那個電話形狀的控制項必須是在系統中註冊過的Microsoft Communications Control,由它進行通訊時首先得設置它的一些屬性如表1。 屬性設定值說明CommPort1通訊協定為 PLC 上位機鏈結通信,利用微機的串口1InputMode0接收資料類型為文本形式Rthreshold1每接收一個字元就產生一個事件Settings9600, E, 7, 2參數依次為串列傳輸速率、奇偶檢驗資料位元數、停止位元數五、程式編寫 在程式中需添加的代碼如下: / TranscommDlg.cpp:implementation file BOOL CTranscommDlg:OnInitDialog () 最後要在ClassWizard中添加變數和回應函數如表2。 控制名稱控制ID對應變數或函數通訊位址文本框ID - ADDRESSm_addressDM 區文本框ID - DMm_dmboxLR 區文本框ID - LRm_lrboxHR 區文本框ID - HRm_hrboxIR 區文本框ID - IRm_irbox應答幀文本框ID - RESPONSEm_response通訊控制項ID - MSCOMMM - comm.發送命令按鈕ID - SENDOnSend ( )/ TODO:Add extra initialization here / 打開通信埠1 m_comm.SetCommPort (1); IF_(m_comm.GetPortOper () m_comm.SetPortOper (FALSE); m_comm.SetPortOpen (TRUE); / 初始狀態為選中位址為1的PLC,並對它的DM0100單元實行操作 m_address= “1” m_dmbox=“0100” return TRUE; / 發送事件 void CTranscommDlg:OnSend () / TODO:Add your control notification handler code here / 按本文第二部分介紹的,寫出需要傳出的命令碼字串CString m_send / 將這個字串發送到串列口 Cstring m_send; m_comm.SetOutput (COleVariant (m_send); / 接收事件 void CTranscommDlg:OnComm () / TODO:Add your control notification handler code here if (m_comm.GetCommEvent () = 2) COle Variant m_input = m_comm.GetInput (); m_input.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甲方小店铺租赁合同范本
- 燃油安全安装合同协议书
- 美甲店加盟协议合同范本
- 物流合同配送协议书模板
- 股权合作协议补充协议书
- 签约非遗传承人合同范本
- 自建洗车房自用合同范本
- 苗木培育承包合同协议书
- 法律居间代理协议书模板
- 猫舍合作合同协议书范本
- 道路绿化养护投标方案(技术方案)
- GB/T 11064.16-2023碳酸锂、单水氢氧化锂、氯化锂化学分析方法第16部分:钙、镁、铜、铅、锌、镍、锰、镉、铝、铁、硫酸根含量的测定电感耦合等离子体原子发射光谱法
- 2023年云南文山州州属事业单位选调考试试卷真题
- dd5e人物卡可填充格式角色卡夜版
- 浅谈中华优秀传统文化融入中职教育研究
- 生产管理制度文本普通货运
- 舞蹈概论课程教学大纲
- 数字媒体艺术概论
- 内科学讲义(唐子益版)
- GB/T 3579-2006自行车链条技术条件和试验方法
- 切纸机安全操作规程标准范本
评论
0/150
提交评论