广州菱控|欧姆龙(OMRON)
当前位置:首页 >> 新闻中心 >> 行业资讯 >> 正文
新闻搜索
新新闻
本月热门TOP10
PLC在纺纱质量在线检测中应用
http://www.bulude.com
文章来源:网络 更新时间:2008-12-30
分享到:
PLC在纺纱质量在线检测中应用

    编者语:命令和应答有两种方式,一种是从上位机发命令到PLC,另一种方式允许PLC发命令给上位机,我们采用浅一种方式。

    0.引言

    1969年美国数字设备公司根据美国通用汽车公司的要求,研制出上台可编程序控制器。初只能用于逻辑运算,故称为可编程逻辑控制器,简称为PLC(ProgrammableLogicController),随着计算机技术和电子技术的飞速发展,其功能远远出顺序控制和逻辑控制的范畴,不仅实现了数据运算和处理能力,而且体积小,功能强,可靠性高,编程直观,适应性好,接口方便,性价比高。

    近年来,随着现代化生产技术的提高,以及计算机技术、信息技术和通讯技术的相互渗透,纱线的不匀直接导致布面的不平整,这就说明在纱线生产环节极为重要。纱线不匀是影响其品质的重要指标之一。传统的纱线检测方式都是在实验室离线进行的,通过对纱线的抽样,要求一定的温湿度前提下,相对于纱线的在线检测反映出离线检测的滞后性和随机性。RS-232C串行通讯实现比较容易,常被用于自动控制、数据采集、智能仪表等上位机与外部设备的数据通讯。本文设计了VB与欧姆龙PLC-CJ1M(CPU21)之间的数据通信,在线获得纱线的检测数据,如CV值、纱线瞬时直径、平均直径、粗节大值、细节小值等等,及时反映纱线的不匀,使操作人员及时做出相应调整。

    1.上位机与PLC之间通讯实现

    欧姆龙PLC—CJ1M(CPU21)有两个串行通讯口,一是通过欧姆龙专用串口通讯线CS1W-CN226,其网络类型设置为Toolbus,同时将DIP4串行通讯设状态置为ON;一是通过欧姆龙九针串口通讯线XM2Z-200S-CV,其网络类型设置为SYSMACWAY,其它为默认设置,包括端口为COM1,波特率为9600。图1所示为上位机通过RS-232C端口连接到PLC的示意图,也可以称作1:1连接。   

图1RS-232C端口的1:1连接

    图2所示为上位机与PLC之间通讯实现过程。   

图2上位机与PLC之间通讯实现过程

    2.VB与PLC之间通讯协议和程序实现

    2.1链接系统的通讯协议

    在纱线数据通讯中,只需要在上位机系统中编写上位机通讯程序,无需在PLC中编写任何程序,PLCCPU会根据上位机发来的命令帧自动生成响应帧返回给上位机。命令帧和响应帧之间包含需要通讯的数据,只有保证正确实现命令帧和响应帧之间的应答,才能实现准确的数据交换。命令和应答有两种方式,一种是从上位机发命令到PLC,另一种方式允许PLC发命令给上位机,我们采用浅一种方式。

    从上位机发送命令时的命令帧和响应帧如图3。   

图3命令帧和响应帧格式

    命令帧中:

    @——命令开始标志,所有命令都以“@”开始;

    节点号——与上位机连接的PLC,在1:1连接中默认值为00;

    标题码——设置两字节的命令代码,如RD代表读PLC的DM区数据;

    正文——设置命令参数

    FCS——设置两字符的帧检查顺序码,用于校验,是用两位ASCII码表示的8位数据,是从“@”开始到正文结束的所有字符的ASCII码按位异或运算的结果;

    结束符——表示命令的结束,用“*”和回车符“CHR$(13)”标明。

    应答帧中:

    @、节点号、标题码、FCS和结束符同命令帧中的含义。

    异常号——返回命令的执行状态,,是否有错误发生。

    2.2通讯端口初始化

    在上位机与PLC实现通讯之前,必须先在上位机VB中设置通讯控件MSComm1的相应属性,通讯口初始化程序一般放在窗体加载程序中。

    PrivateSubForm_Load()

    MSComm1.CommPort=1‘设置Com1通讯口

    MSComm1.Settings=“9600,e,7,2”‘波特率9600,e偶校验,7位数据位,2位停止位

    MSComm1.PortOpen=True‘打开通讯端口

    MSComm1.InBufferCount=0‘清空接收缓冲区

    EndSub

    其它设置均取通讯控件MSComm1的默认值。

    2.3帧格式代码

    采用基于Windows操作系统功能强大的面向对象的程序设计语言——VisualBasic,编写了上位机程序,建立了上位机与PLC之间良好的通讯协议。以读内存DM区为例:

    上位机命令帧:

    "@"+"00"+"FA"+"1"+"00000000"+"0101"+"82"+开始地址+读取个数+FCS+结束符

    PLC应答帧:

    "@"+"00"+"FA"+"1"+"00000000"+"0101"+"82"+"0000"+读取数据+FCS+结束符

    其中:

    FA——表示FINS命令

    0101——表示连续读内存区

    82——表示读内存DM区

    2.4校验算法实现

    为了保证通讯数据准确无误的传输,欧姆龙PLC对通讯数据以按位异或算法进行校验。代码如下,仅供参考。

    OptionExplicit

    FunctionFCS(ByValtemp1AsString)AsString

    Dimslen1,i,xorresult1AsInteger‘定义变量

    Dimtempfcs1AsString

    xorresult1=0

    slen1=Len(temp1)‘求输入字符串的长度

    Fori=1Toslen1

    xorresult1=xorresult1XorAsc(Mid(temp1,i,1))‘从首字符到尾字符获取ASCII码,按位异或

    Nexti

    Tempfcs1=Hex$(xorresult1)‘转换为16进制

    IfLen(tempfcs1)=1Then

    FCS="0"&tempfcs1

    Else

    FCS=tempfcs1

    EndIf

    EndFunction

    3.结束语

    本文作者创新点主要通过RS-232C串口通讯,采用面向对象的可视化编程工具——VisualBasic建立上位机与欧姆龙PLC-CJ1M(CPU21)之间的数据通讯,获取纱线在线检测数据,现场实测表明能够快速准确在线测量纱线的CV值、瞬时直径、平均直径、粗节大值、细节小值等等,实时反映纱线的不匀率,对提高棉纺企业纱线质量具有重要的意义。

    参考文献:

    [1]荣大龙.VB编程PLC串行通讯技术及应用[J].微计算机信息,2002,11:54-56

    [2]张智杰.使用VB开发PLC的串行通讯程序.仪器仪表用户[J],2002,9(1):23-25

    [3]余松,赵忠堂.用VISUALBASIC实现上位机和PLC的通讯[J].电气传动,1999,(3):41-43

    [4]OMRONSYSMACCS/CJ系列可编程控制器编程手册[Z],2003,4

    [5]樊春峰,李劲伟.用VB开发上位机与OMRONPLC之间的一种通讯程序[J].洛阳工学院学报,2002,23(2):82-84

    [6]沈世斌.三菱PLC与PC机间的通讯应用[J].微计算机信息,2006,4-1:81-83

上一条 上一条:DCS和PLC的技术经济比较
下一条 下一条:PLC在阀门中远程系统中的应用
相关新闻  PLC   新闻