- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
硫化机上位机与PLC通讯开发
硫化机上位机与PLC通讯开发 关键词:上位机,DM数据区,Mscomm控件,C200Hg、CJ1M控制系统 摘要:上位机与日本omron PLC的通讯是采用高级语言visual basic6.0编写,通过vb开发的mscomm控件对omron PLC进行读写,实现设备参数的自由调整和对设备生产过程的实时监控、历史数据的追朔和参数的下载存储等功能,从而大幅提高设备使用的灵活性和方便性。 概述: 银川佳通轮胎公司用于胎胚硫化的硫化机共有119台,分别是桂林橡机厂和福建三明硫化机厂制造的设备,控制系统采用欧姆龙C200Hg或CJ1M控制系统,上位机采用台湾研华平板电脑。C200Hg或CJ1M控制系统负责硫化机动作控制及温度、压力等工艺数据的自动调节;上位机负责设备和工艺参数的读写、历史记录和曲线绘制等,从而使整个控制过程更简洁、直观,便于查询、追朔产品产品质量,提高产品品质有很大作用。上位机与PLC控制系统的通讯是该设备的核心技术之一,也是设备维护维修的难点。 二、上位机与omron PLC通讯介绍 1、上位机与omron PLC通讯协议是采用rs-232c通讯协议,通过9针com口就可以实现硬件连接通讯。rs-232c通讯协议为:波特率:9600B/S,数据位:7位,奇偶校验位:无,停止位:1位。 2、mscomm控件是visual basic6.0编程语言开发的专门用于rs-232通讯的控件,通过在vb中建立mscomm控件和设定相应的通讯协议参数,即可建立通讯软通道,实现从rs-232线路的数据传输。 3、omron PLC是日本欧姆龙公司研制的可编程逻辑控制器,广泛应用于工业企业的设备生产控制中。具有数据处理、逻辑运算、定时、计数、输入输出控制等功能。本文只介绍对数据区(DM区)的读写通讯。 4、硫化机上位机主界面 三、使用vb开发实现读取PLC DM数据区的数据 1、在vb环境中添加mscomm控件,并对控件属性进行设定,假设mscomm控件的名称为mc1,通讯协议设定:mc1.省略port=1,表示通讯是通过上位机com1端口通讯的。 2、建立一个可被调用数据读写的公用函数: Public Function Read_or_Write(CommandString As String, responsestr As String) As Integer Do Do If Form1.mc1.PortOpen = False Then Form1.mc1.PortOpen = True If (writecount = 3) Then Read_or_Write = 1 End If If (Form1.mc1.InBufferCount = 1) Then Form1.mc1.InputLen = 0 tempstr = Form1.mc1.Input End If tempstr = writecount = writecount + 1 Form1.mc1.Output = CommandString responsestr = On Error Resume Next Do If (CBool(readcount = 10000)) Then Read_or_Write = 3 End If If (Form1.mc1.InBufferCount = 1) Then tempstr = Form1.mc1.Input Else DoEvents End If responsestr = responsestr + tempstr tempstr = readcount = readcount + 1 len1 = Len(responsestr) If (len1 = 2) Then bool1 = CBool(Mid(responsestr, (len1 - 1), 1) = *) bool2 = CBool(Mid(responsestr, len1, 1) = Chr$(13)) End If Loop While ((CBool(len1 = 2) Or (bool1 = False) Or (bool2 = False)) And (Read_or_Write = 0)) Loop While ((fcscheck(responsestr) = False) And (Read_or_Write = 0))
您可能关注的文档
最近下载
- 中国行业标准 YY 9706.274-2022医用电气设备 第2-74部分:呼吸湿化设备的基本安全和基本性能专用要求.pdf
- 中秋博饼规则.doc VIP
- (人教2024版)英语七年级上册全册语法总复习(知识点+练习) 学生版+解析版_可搜索.pdf VIP
- 机械制图课件断面图.ppt VIP
- 《中外历史纲要(下)》填空.pdf VIP
- 高中政治2024届高考复习《逻辑与思维》真题练习(选择题+主观题)(附参 .pdf VIP
- 2025年咸阳市社区工作者计划招聘412人考试备考题库及答案解析.docx VIP
- 2025-2030中国生物可吸收输尿管支架行业市场发展趋势与前景展望战略研究报告.docx VIP
- 保健品专卖店管理制度.docx VIP
- 2025年高级审计师《高级审计实务》考试题库 .pdf VIP
文档评论(0)