环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產(chǎn)品分類

當(dāng)前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動化控制 > PLC可編程控制器

類型分類:
科普知識
數(shù)據(jù)分類:
PLC可編程控制器

用VC++開發(fā)微機與OMRON PLC間的一種通訊程序

發(fā)布日期:2022-04-26 點擊率:63 品牌:歐姆龍_Omron

    [摘  要] 
    本文介紹了一個使用Visual C++編寫的通信程序,主要實現(xiàn)微機與OMRON PLC間的通信,并對它們間的通信協(xié)議作了闡述。 
[關(guān)鍵詞] 
    PLC  鏈接通信  通訊控制 
1、前言
    可編程控制器是一種數(shù)字運算操作的電子系統(tǒng),專為在工業(yè)環(huán)境下應(yīng)用而設(shè)計。它采用了可編程序的存儲器,用于其內(nèi)部存儲程序,執(zhí)行邏輯運算、順序控制、定時、計數(shù)和算術(shù)操作等面向用戶的指令,并通過數(shù)字式或模擬式輸入輸出控制各種類型的機械的生產(chǎn)過程。可編程控制器及其有關(guān)外部設(shè)備,都按易于與工業(yè)控制系統(tǒng)聯(lián)成一個整體、易于擴充其功能的原則設(shè)計。早期的PLC以數(shù)字量的順序控制為主,提供了簡單的慢速的通信功能(只支持RS232、RS485、多采用Modbus協(xié)議),現(xiàn)在的PLC不僅具有邏輯運算、順序控制、定時、計數(shù)和算術(shù)操作,而且還具有A / D、D / A轉(zhuǎn)換,數(shù)值計算和數(shù)據(jù)處理等功能。它既可以對開關(guān)量進行控制,也可以對模擬量進行控制,隨著PLC功能不斷擴充,它還有通訊聯(lián)網(wǎng)功能,舉例C200HX / HG / HE的OMRON PLC的CPU內(nèi)的RS - 232C端口和外設(shè)端口支持通信功能就有與編程設(shè)備(如編程器,LSS,或SSS (中文版))進行通信、與個人計算機和其它外設(shè)進行上位機鏈接通信、與個人計算機和其它外設(shè)進行RS - 232C、與其它PC進行1:1、再有是與裝有NT鏈接接口的可編程終端(PT)進行NT鏈接通信(1:1、1:N),本課題就是基于OMRON PLC的鏈接通信(有通信協(xié)議),用VC++開發(fā)的上位機與PLC間的通信。   
2、OMRON PLC的通信協(xié)議
    目前,隨著PLC的快速發(fā)展,越來越多的PLC生產(chǎn)廠商開發(fā)了它與計算機的通信功能(主要是利用計算機串口進行通信),本文是以C200HE PLC為例,作詳細闡述,本文的通信協(xié)議采用的是上位機鏈接通信。上位機鏈接通信通過在上位機與PLC之間交換命令和應(yīng)答實現(xiàn)的。在一次交換中傳輸?shù)拿詈蛻?yīng)答數(shù)據(jù)稱為一幀,一個幀最多可包含131個數(shù)據(jù)字符。 
    命令幀格式 
    從上位機發(fā)送一個命令時,按下示的格式排列命令數(shù)據(jù)

@符號必須置于每個命令的開頭,節(jié)點號是用來辨識每一臺PLC的節(jié)點,在本文中,它設(shè)置PLC的DM6558單元中,識別碼設(shè)置兩字符的命令代碼,設(shè)置通信是讀寫PLC的哪個寄存器單元,例讀寫IR / SR區(qū)時它的識別碼設(shè)置分別為RR和WR,讀寫DM區(qū)分別為RD和WD。正文設(shè)置命令參數(shù),包括所要讀寫PLC寄存器單元的起始地址和字數(shù)。FCS是設(shè)置兩字符的幀檢查順序碼,是一個轉(zhuǎn)換成2個ASCII字符的8位數(shù)據(jù),這8位數(shù)據(jù)為從幀開始到正文結(jié)束(即FCS之前)所有數(shù)據(jù)執(zhí)行“異或”操作的結(jié)果。終止符設(shè)置“*”和回車(CHR $(13))兩字符,表示命令結(jié)束。命令幀可以有最多131個字符長。一個等于或大于132字符的命令必須分成若干幀。命令分段,使用回車定界符(CHR $(13))。 
    應(yīng)答幀格式

識別碼和正文取決于接收到的上位機聯(lián)結(jié)命令,結(jié)束碼表示命令完成的狀態(tài)(即是否有錯誤發(fā)生),當(dāng)應(yīng)答超過132字符,它必須分成若干幀。結(jié)束碼是應(yīng)答幀中表示PLC應(yīng)答的信息。例結(jié)束代碼為00表示正常結(jié)束,13表示FCS錯誤,14表示格式錯誤,15表示入口碼數(shù)據(jù)錯誤,18表示幀長度錯誤,A3表示傳輸數(shù)據(jù)時因FCS錯誤引起終止,A8表示傳輸數(shù)據(jù)時因幀長度錯誤引起終止。 
    本文的上位機命令幀包括讀寫PLC單元中的數(shù)據(jù)的命令。讀命令幀為:@01RR0100000141* + CHR $(13),意思是上位機讀取節(jié)點為1的PLC中的IR0100單元中的內(nèi)容。寫命令幀為:@01WR0100000171* + CHR $(13),意思是寫一個數(shù)到節(jié)點為1的PLC的IR0100單元中。 
3、系統(tǒng)結(jié)構(gòu)圖
    下圖是計算機與PLC通信的組成系統(tǒng)圖

上位計算機與多個PLC進行通信,必須連接一個RS232 / 422電平轉(zhuǎn)換器,RS422采用平衡發(fā)送接收方式,它具有傳輸距離長、抗干擾能力強和多點通信能力,最多可以接32臺PLC,如圖1所示,每一臺PLC都必須掛一個COM06單元進行RS422方式連接,所有的PLC與計算機間的通訊采用的是PLC上位機鏈接通信協(xié)議。
3.1 硬件設(shè)置 
    RS232 / 422轉(zhuǎn)換器的設(shè)置開關(guān)撥到422方式,OMRON PLC上的COM06通信板單元同樣設(shè)置為422方式和四線制。 
3.2 參數(shù)設(shè)置 
    上下位機的通信波特率設(shè)置為9600,數(shù)據(jù)格式設(shè)置為E,7,2。 
3.3 節(jié)點設(shè)置 
    在PLC的DC6558單元中設(shè)置節(jié)點號00(初始值)~ 31(號機)。 
4、用Visual C++6.0編寫串行通信程序
    本文的上位機鏈接通信程序是用Visual C++6.0編寫的,主要是利用VC++中的一個通信控件來實現(xiàn)的。 
    首先利用MFC AppWizard ( exe ) 建立一個基于對話框,支持Activex控件,命名為Transcomn的應(yīng)用程序。然后在對話框中加入一些控件,其中那個電話形狀的控件必須是在系統(tǒng)中注冊過的Microsoft Communications Control,由它進行通訊時首先得設(shè)置它的一些屬性如下。

屬  性     設(shè) 定 值           說         明
CommPort       1          通訊協(xié)議為 PLC 上位機鏈接
                          通信,利用微機的串口1
InputMode      0           接收數(shù)據(jù)類型為文本形式
Rthreshold     1          每接收一個字符就產(chǎn)生一個事件
Settings   9600, E, 7, 2      參數(shù)依次為波特率、
                               奇偶檢驗數(shù)據(jù)位數(shù)、停止位數(shù)

5、程序編寫
    在程序中需添加的代碼如下: 
    // TranscommDlg.cpp:implementation file 
    BOOL CTranscommDlg::OnInitDialog () 
    { 
    最后要在ClassWizard中添加變量和響應(yīng)函數(shù)如下。

    控制名稱         控制 ID對          應(yīng)變量或函數(shù)
通訊地址文本框     ID - ADDRESS           m_address
 DM 區(qū)文本框         ID - DM              m_dmbox
 LR 區(qū)文本框         ID - LR              m_lrbox
 HR 區(qū)文本框         ID - HR              m_hrbox
 IR 區(qū)文本框         ID - IR              m_irbox
 應(yīng)答幀文本框      ID - RESPONSE          m_response
   通訊控件         ID - MSCOMM           M - comm.
 發(fā)送命令按鈕        ID - SEND            OnSend ( )

// TODO:Add extra initialization here 
    // 打開通信端口1 
    m_comm..SetCommPort&n

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產(chǎn)品

更多
主站蜘蛛池模板: 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 耐热钢-耐磨钢-山东聚金合金钢铸造有限公司 | 广州迈驰新GMP兽药包装机首页_药品包装机_中药散剂包装机 | 辊道窑炉,辊道窑炉厂家-山东艾希尔 | LINK FASHION 童装·青少年装展 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 电伴热系统施工_仪表电伴热保温箱厂家_沃安电伴热管缆工业技术(济南)有限公司 | 金属抛光机-磁悬浮抛光机-磁力研磨机-磁力清洗机 - 苏州冠古科技 | 阜阳成人高考_阜阳成考报名时间_安徽省成人高考网 | LED投光灯-工矿灯-led路灯头-工业灯具 - 山东普瑞斯照明科技有限公司 | 六维力传感器_六分量力传感器_模腔压力传感器-南京数智微传感科技有限公司 | 华中线缆有限公司-电缆厂|电缆厂家|电线电缆厂家 | 西安中国国际旅行社(西安国旅) | 便携式高压氧舱-微压氧舱-核生化洗消系统-公众洗消站-洗消帐篷-北京利盟救援 | 游泳池设计|设备|配件|药品|吸污机-东莞市太平洋康体设施有限公司 | 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 | 品牌设计_VI设计_电影海报设计_包装设计_LOGO设计-Bacross新越品牌顾问 | 机床导轨_导轨板_滚轮导轨-上海旻佑精密机械有限公司 | 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 培训中心-海南香蕉蛋糕加盟店技术翰香原中心官网总部 | 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | 移动厕所租赁|移动卫生间|上海移动厕所租赁-家瑞租赁 | 北京租车公司_汽车/客车/班车/大巴车租赁_商务会议/展会用车/旅游大巴出租_北京桐顺创业租车公司 | 软装设计-提供软装装饰和软装配饰及软装陈设的软装设计公司 | 展厅装修公司|企业展厅设计|展厅制作|展厅搭建—广州展厅装饰公司 | 智能气瓶柜(大型气瓶储存柜)百科 | 环氧树脂地坪漆_济宁市新天地漆业有限公司 | 医学动画公司-制作3d医学动画视频-医疗医学演示动画制作-医学三维动画制作公司 | 管理会计网-PCMA初级管理会计,中级管理会计考试网站 | 礼仪庆典公司,礼仪策划公司,庆典公司,演出公司,演艺公司,年会酒会,生日寿宴,动工仪式,开工仪式,奠基典礼,商务会议,竣工落成,乔迁揭牌,签约启动-东莞市开门红文化传媒有限公司 | 顶空进样器-吹扫捕集仪-热脱附仪-二次热解吸仪-北京华盛谱信仪器 | 阜阳成人高考_阜阳成考报名时间_安徽省成人高考网 | 自清洗过滤器-全自动自清洗过反冲洗过滤器 - 中乂(北京)科技有限公司 | 桂林腻子粉_内墙外墙抗裂砂浆腻子粉推荐广西鑫达涂料厂家供应 | 400电话_400电话申请_866元/年_【400电话官方业务办理】-俏号网 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 长沙网站建设制作「网站优化推广」-网页设计公司-速马科技官网 | 莱州网络公司|莱州网站建设|莱州网站优化|莱州阿里巴巴-莱州唯佳网络科技有限公司 | 越南专线物流_东莞国际物流_东南亚专线物流_行通物流 | 办公室装修_上海办公室设计装修_时尚办公新主张-后街印象 |