智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

基于VC5.0的PC與松下PLC的通訊及其應用

來源:周奉磊

點擊:114

A+ A-

所屬頻道:新聞中心

關鍵詞:PLC 串行通訊

    1 引言

        隨著PLC應用范圍的不斷擴大,PLC與PC之間通訊技術的應用需求越來越廣泛。通過PLC的編程口進行通訊不僅可以減少系統的本錢及復雜性,同時可以減少PLC方面軟件的復雜程度和編程量。本文根據實際工程中的經驗進行總結,介紹了利用VC++中MFC實現PC與松下FP0系列PLC編程口進行串行通訊的程序設計基本方法。

    2 PC與FP0 PLC之間的通訊協議和接口

        在一個規模較大的紡織產業控制系統中,經常有幾十個、幾百個甚至更多的測溫順控制對象。即使速度很高的系統,也很難滿足要求。為了降低危險,進步可靠性,必須將任務分散,而分散的設備需要通過一定的手段連接起來,其中數據通訊和系統互連是該系統的關鍵技術之一。松下FP0系列PLC具有較強的通訊功能,可以適合各種產業自動化網絡的不同需要, 其中包括以太網協議及通用接口、H型鏈接通訊系統(H-LINK)、P型鏈接系統(OPTICAL LINK)、W型鏈接系統(WIRE-LINK)和C-NET鏈接系統,還有遠程I/O通訊系統(REMOTE I/O),它們通過RS-485、RS-232或專用網絡插座在PLC-PLC、計算機與PLC之間進行通訊。但是要利用這些系統協議,必須采用專用高級通訊單元,這勢必增加系統的本錢。為了節省開支,紡織產業系統可以直接采用松下電工最基礎的專用通訊協議-NEWTOCOL。

        NEWTOCOL分為兩部分:一是NEWTOCOL-COM,即關于計算機通訊的協議;二是NEWTOCOL-DATA,即關于數據傳輸協議。

        2.1  NEWTOCOL-COM的幀格式

        (1) 命令發送幀

        (2) 正確響應幀
        img]周奉磊-b2.jpg border=0>

        (3) 錯誤響應幀
        img]周奉磊-b3.jpg border=0>

        2.2  NEWTOCOL-DATA的幀格式

        (1) 命令發送幀
        img]周奉磊-b4.jpg border=0>

        (2) 正確響應幀
        img]周奉磊-b5.jpg border=0>

        (3) 錯誤響應幀
        img]周奉磊-b6.jpg border=0>

        通過該協議可更加快捷地傳送系統所需的數據,設置PLC所需的參數。FP0 PLC與上位機鏈接通訊協議如圖1所示:

    圖1 FP0 PLC 與上位機鏈接通訊協議

    3 通訊程序設計

        在PC機和松下FP0系列PLC進行串行通訊時,由于PC與PLC之間的信息傳送是通過PLC編程口實現的,采用的是FP0 PLC專用協議通訊指令。因此,在PC編程方面需要嚴格的遵循PLC編程口通訊協議。具體實現介紹如下:

        3.1 串口設備的打開

        在Visual C++中,利用MFC CFile類來實現串行通訊。這種通訊方式與訪問磁盤普通文件沒有太大不同。打開串口設備需作以下操縱:

        CFile file;
        CFileException e
        File.open(
        portName,      // example "com1",com2"
        CFile::modeReadWrite,
        &e);

        3.2 串口設備的初始化

        串行端口創建時,必須對其進行設置以匹配與其對話的設備。FP0系列PLC的波特率為固定的9600bps,奇偶校驗采用奇校驗,1位停止位,8位數據位。一般地,可用如下程序設置它們:

        DCB dcb;
        ::GetCommState((HANDLE)file.m_hFile,&dcb);
        dcb.BaudRate=9600;
        dcb.StopBits=1;
        dcb.ByteSize=8;
        dcb.Parity=1;
        ::setCommState((HANDLE)file.m_hFile,&dcb);

        為了更好的控制端口可以利用SetCommTimeouts()函數打開或封閉串口超時功能,具體程序如下:

        COMMTIMEOUTS cto;
        ::GetCommTimeouts((HANDLE)file.m_hFile,&ct0);
        cto.ReadIntervalTimeout=0;
        cto.ReadTotalTimeoutMultiplier=0;
        cto.ReadTotalTimeoutConstant=0;
        cto.WriteTotalTimeoutMultiplier=0;
        cto.WriteTotalTimeoutConstant=0;
        ::SetCommTimeouts((HANDLE)file.m_hFile,&cto);

        3.3 PC與FP0 PLC之間的通訊實現

        在FX2系列PLC與PC機的通訊中,數據是以幀為單位發送和接收的。其中字符ENQ(0x05)、ACK(0x06)、和NAK(0x15)作為單個字符,可以構成單字符幀。若通訊正常,則應答字符$;若通訊有錯,則應答字符!。其余的字符在發送和接收時必須用字符%和CR分別表示該字符幀的起始標志和結束標志,否則將構成幀錯。一個多字符幀由%、地址碼、站號、數據、和校驗以及CR五部分組成,其中和校驗值是其初值為0,然后從起始符開始與該幀報文中每一字節按位進行異或運算得到。

        (1) 應用MFC CFile類實現對串口設備的讀、寫操縱的代碼

        //讀串口
        char m_Readbuff[UINT n];
        uint nByte=file.read(
        &m_ReadBuff,      //緩存儲沖
        UINT nCount //所讀字節數
        //寫串口
        char m_WriteBuff[UINT n];
        file.Write(
        &m_WriteBuff,     //存儲緩沖
        UINT nCount      //縮寫字節數
        );

        (2) PC機實現與PLC通訊的程序代碼

        char m_WriteBuff[10];
        char m_ReadBuff[10];
         UINT nByte=0;
          m_WriteBuff[0]=0x05    //ENQ
        //寫串口
        file.Write(
        m_WriteBuff,     //存儲緩沖
            //所讀字節數
        );
        //讀串口
        nByte=file.Read(
        m_ReadBuff,     //存儲緩沖
        //所寫字節數
        );
        switch (m_ReadBuff[0])
          {
        case : 0x24    //應答$,通訊正常
          //添加相關處理代碼
        break;
        case : 0x21 
          //應答!,通訊故障
          //添加相關處理代碼
         break;
          }

        3.4 PC對PLC內各軟設備進行讀、寫操縱

        FP0系列PLC的所有開關量輸進、輸出以及各軟設備對PC機都是透明的,只有當PLC的計時器和計數器的設定值采用常數時,以及文件寄存器內的數據,PC機不能對其進行讀寫。不論PLC處在“STOP”狀態還是“RUN”狀態,PC機都可以按1.1所列的命令對PLC進行讀、寫操縱。這里僅給出PC機與PLC通訊所用多字符幀的格式及簡單示例,實際應用時只需將多字符幀中的字符ASCII碼(十六進制)按順序賦予相應的字符數組m_WriteBuff,m_ReadBuff,即可實現對PLC的操縱。

        (1) 讀操縱
        img]周奉磊-b7.jpg border=0>

       
        (2) 寫操縱

        微機對PLC軟設備進行寫操縱的多字符幀的編制格式如下表所示: img]周奉磊-b8.jpg border=0>

       
        PLC接收到寫操縱多字符幀格式后,若接收到數占有效,則應答$(0x24),該字符幀如下表所示: img]周奉磊-b9.jpg border=0>

       
        若接收數據無效或和校驗出錯,則應答字符!(0X21),該字符幀如下表所示: img]周奉磊-b10.jpg border=0>
       
        3.5  封閉串口設備

        PC機與PLC通訊完畢后,PC機封閉一個已打開的串口設備只需如下一條語句即可完成。

        File.Close();

    4 應用實例

        以上介紹了利用MFC實現PC與FX2系列PLC串行通訊的基本方法及其關鍵部分程序代碼。上面的程序代碼為基礎,不僅可以編制用于以PLC為現場主控機的監控系統軟件,而且可編制出微機與其他具有串行通訊能力設備的串行通訊程序。本人已成功使用VC5.0實現PLC與上位機之間的通訊,并應用于青島大學紡織服裝學院開發的掉毛量測試儀。該測試儀控制系統采用PLC 控制步進電機方案,有效地進步了工作效率,使操縱職員通過PC的顯示可以監測并控制儀器的工作。兔毛織物掉毛量測試儀已可靠運行一年,實踐證實它具有控制靈活、使用簡單、功能擴充方便、抗干擾性能強的特點。沒有出現任何通訊連接的題目。

    (審核編輯: 滄海一土)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 中华收藏网-中藏网-藏品拍卖|字画拍卖|艺术品拍卖|古玩城|收藏资讯|古玩交易|书画定制 | 暖气片-工程暖气片厂家【专注工程暖气片30年】-北铸暖气片 | 雨量计,翻斗雨量计,声波雨量计i,时差法流量计,时差法明渠流量计 - 徐州伟思水务科技有限公司 | 空气能热水器|空气能热水器工程|太阳能热水器工程|蓝冠机电 | 私人家庭影院装修_别墅家庭影院设计_家庭影院价格方案-广州家庭影院定制公司 | 润滑油展会 沈阳 南京 润滑油 展会 西安 润滑脂 中国国际润滑油 全国润滑油 汽配_中国国际润滑油、脂、养护用品及技术设备展览会 | 聚丙烯酰胺,聚合氯化铝,重金属捕捉剂,污泥调理剂,活性氧化铝,生石灰,反渗透阻垢剂,工业葡萄糖,硫酸铝,果壳活性炭,柱状活性炭,蜂窝活性炭,石英砂,锰砂-北京雁归来环保科技有限公司-以真诚为立足之本,以质量为生存之本,愿与海内外同仁共创双赢。雁归来人一路走来,气贯长虹,勇锐盖过怯弱,进取压倒苟安!我们紧扣时代脉搏,专注水处理、继往开来! | 上海办公家具_高端实木办公家具_现代智能办公家具定制厂-上海迈亚家具有限公司 | 思为网络_成都百度优化快照排名-成都网站建设优化_成都网页设计_成都SEO公司 | 久久91精品久久91综合_国产亚洲自拍一区_国产精品第1页_亚洲高清视频一区_91成人午夜在线精品_亚洲国产精品网站在线播放_亚洲国产成人久久综合区_国产精品亚洲专区在线观看_免费视频精品一区二区三区 | 水表_智能电表_抄表软件_ic卡水控机_电磁水表厂家-深圳市华熙仪数码科技有限公司 | 上海鳞片胶泥-环氧胶泥价格-鳞片涂料批发-乙烯基树脂-环氧结构胶-上海富晨 | 中国焊接协会网站—中国焊接信息网;焊接行业最权威访问量最大的专业网站:焊接信息、焊接材料,焊接机器,焊接设备,焊机,焊材,辅助设备,焊机配件,仪器仪表,电动工具,钎焊,送丝机,表面处理,自动化专机,焊锡丝,助焊剂 | 太原重卡叔叔运输有限公司-山西太原大件运输、太原物流公司、太原货运物流、太原大件运输、太原货运信息、长治物流公司、长治大件运输、晋城物流公司、晋城大件运输、忻州大件运输、朔州大件运输、阳泉大件运输、大同大件运输、吕梁大件运输、临汾大件运输、运城大件运城 | 石牌坊价格_石雕农村门楼图片_石牌楼雕刻制作 _ 长城石雕 | 手持电能质量测量仪-TD-1168多功能高空接线钳-上海妙定电气有限公司 | 网站主页 - 河北天成药业股份有限公司| 山东凯达起重机械有限公司-单梁行车,龙门吊,提梁机,门式起重机,悬臂起重机 | 山东邹平华强无纺布有限公司| 粮食加工设备_玉米_大米_面粉_燕麦_豆类杂粮加工设备-华豫万通 | 自动_链条式_电动推杆_电动开窗器厂家_山东鑫宏玺智能科技有限公司 | 耐磨涂料_陶瓷涂料_高温涂料_高硬度耐磨涂料-北京耐默科技 | 新洲际教育-一站式留学解决方案领航者【官网】 | 中婴网,推动母婴产业健康·可持续发展,婴童网络专业传媒,母婴网,360孕婴童网,婴童品牌,婴儿用品品牌,婴儿用品加盟店,母婴用品加盟店 | 驾驶洗地机|手推洗地车|天津洗地机|扫地车|仓库工厂扫地机|工业吸尘器|扫雪机|耐洁思 | 千斤顶-超薄电动千斤顶-电动液压千斤顶-液压螺母扳手-泰州杰克液压机械制造有限公司 | 连续式回转炉_间歇式回转炉_燃气式回转炉_电加热回转炉-长兴博达机械配件有限公司 | 数据采集卡_北京科尔特兴业测控技术研究所 | 饲料设备_饲料加工设备_饲料成套加工设备专业提供商-河南杰昌机械设备有限公司 | 专业制造泥浆泵阀箱、锻造零件、曲轴、台阶轴等各种机械部件 - 四川中宇重工科技有限公司 | 上海企业团建|上海团建|上海团建活动|上海拓展培训|上海拓展训练|傲朗企业管理顾问(上海)有限公司 | 山东日兴新材料股份有限公司| 市南人才网_市南招聘网_求职找工作平台| 思沃普智能会议预约管理系统-视频会议管理-信息发布-访客管理-会议运维-会议支持-工位管理系统 | 化妆粉扑厂家【秀兰】一线品牌资格供应商_海绵粉扑批发_气垫粉扑价格_广州秀兰生物科技有限公司 化工招聘网 化工人才网|化工英才网-化工企业招聘首选网站 | 陕西锐锋建筑安装有限公司,锐锋建筑,总承包,专业分包,市政综合,劳务,水电钢构,铁路公路,房建,房屋建筑施工 | 英格索兰隔膜泵_ARO气动隔膜泵_英格索兰隔膜泵配件【原厂正品】连续五年无投诉_英格索兰隔膜泵代理-苏州瑞晟茂环保设备有限公司 印刷公司,北京印刷厂,宣传画册手册印刷厂-和智印彩页设计 | 同步分流马达_液压泵维修_派克多路阀-济南富诚液压设备有限公司 通用变频器|国产变频器|深圳变频器厂家-深圳市英捷思技术有限公司 | 机械智能停车设备_智能机械式立体停车库_立体车库停车设备租赁_山东科博机械车库 | 环保除尘设备_燃气/燃油热水锅炉_光氧空气净化器_蒸汽玉米压片机_压片设备_烘干设备-山东金盾节能环保设备有限公司 | 水泥纤维瓦机 石棉瓦机 硅酸钙板生产线 |