微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 欧姆龙plc网络与通讯

欧姆龙plc网络与通讯

时间:12-16 来源:互联网 点击:

CompoBUS/S网络是一种主从式总线结构的控制网络,它的响应速度快,实时性强,实现简便,可以对远程的I/O实现分散控制。该系统由一台PLC(CS1、CQM1H、C200Hα)带CompoBUS/S主站模块或一台SRM1主控单元作为主站,一个主单元最多可带32个远程从站单元,控制256个输入输出点。接16台从站单元、128点输入输出点时可达到0.5ms的高速通信。CompoBUS/S通信系统具有以下特点:

主干线远距离通信:新增了远距离通信模式,允许主干线的通信距离达到500m。

丰富的主站和从站单元:有C200HW-SRM21-V1、CQM1-SRM21-V1、SRM-C0-V2主站单元和SRT2系列的从站单元,支持高速通信和远距离通信。

高速通信:在高速通信方式下,接16台从站单元,128点控制时,可实现0.5ms的快速通信。

配线简单:主单元和从站单元间、从单元和从单元间可用4线制电缆连接,其中2根为信号线,2根为电源线,从而大幅度减少了配线。CompoBUS/S通信参数如表4所示。

表4CompoBUS/S通信参数

3、PLC与上位计算机之间的通信

在计算机与PLC构成的集散控制系统中,多数是由一台计算机与数台PLC形成1:N的通信模式。该模式系统中PLC负责现场高速数据采集、实现逻辑、定时、计数、PID调节等控制任务并通过串行通信口向上位计算机传送PLC工作状态及有关数据,从而实现计算机对控制系统的管理。PLC与上位计算机之间通信的准确、可靠、高效率是集散控制系统的关键所在。

3.1PLC与上位机的链接方式

PLC与上位计算机形成1:N通信模式有两种连接方式:


方式一



方式二

方式一较少使用连接适配器,也不用信号转换,但若中间某一台PLC出故障,其后的PLC将无法与上位机通信;方式二使用了信号转换模块,当某一台PLC出故障不影响其它PLC通信。

3.2PLC与上位机的通信过程

通信开始先由上位机依次向网内的PLC发出一串测试帧命令,PLC接到上位机的完整帧后,首先判断是不是自己的代号,若不是就不予理睬,若是则发送回答信号。上位机接到回答信号后,与发送测试数据比较,若两者无误,发出可以进行数据通信的信号,转入正常的数据通信。上位机与PLC实施链接通信,上位机具有优先发送权,每发送完一帧发送权就在上位机与PLC之间轮换。当收到结束符或分界符时,发送权从发送单元传给接收单元。其帧发送与接收如图3.2所示。


图3.2上位机与PLC间的帧发送与接收

上位机发出命令格式和PLC响应格式如下图:

@:帧开始标志

节点号:通信网络中每一台PLC被分配给的唯一番号

标题号:该帧的通信命令码

结束码:返回命令的完成状态

正文:设置命令参数

FCS:帧校验顺序代码

结束符:命令结束

通信参数设置为:波特率9600bps,数据格式由DM0902/DM1920的第00-07位和DM0921/DM1921共同设定,默认方式时DM0902/DM1920的第00-07位的值为00000000,此时DM0921/DM1921区不起作用。每条指令都以标识号(UnitNumber)和操作码/头(Header)开始,以校验码(FCS)和结束标志(Terminator)结束。

帧发送时,FCS置于结束符前以检查是否发生数据错误。FCS是转换成2个ASCⅡ字符的8位数据,这个8位数据对帧开始的数据直到此帧正文结束的数据进行“异或”运算的结果。FCS检查程序如下:

400*FCSCHECK

410L=LEN(RESPONSE$)’

420Q=0:FCSCK$=“”

430A$=RIGHT$(RESPONSE$,1)

440PRINTRESPONSE$,AS,L

450IFA$=“*”THENLENGS=LEN(RESPONSE$)-3

ELSELENGS=LEN(RESPONSE$)-2

460FCSP$=MID(RESPONSE$,LENGS+1,2)’

470FORI=1TOLENGS’

480Q=ASC(MID$(RESPONSE$,I,1))XORQ

490NEXTI

500FCSD$=HEX$(Q)

510IFLEN(FCSD$)=1,THEN,FCSD$=”0”+FCSD$’

520IFFCSS$<>FCSP$,THENFCSCK$=“ERR”

530PRINT“FCSD$=”;FCSD$,“FCSP$=”;FCSP$,“FCSCK$=”;FCSCK$

540RETURN

帧发送检查格式如图3.4所示。


图3.4帧发送检查

3.3PLC与上位计算机通信程序

上位机通信软件是用VB开发的。VB具有强大的图形显示功能,可以容易开发出界面良好的图形用户界面,同时VB还提供了串行端口控件MSCOMM,程序员在利用该控件时,只需设置、监视其属性和事件,即可完成对串口初始化和数据的传输工作。通信程序如下:

Subformlload()

Mscomml.Comport=1

Mscomml.Settings=“9600,n,8,1”

Endsub

Subcommandlclick

Mscomml.Inputlen=0

Ifmscomml.Portopen=falsethen

Mscomml.Portopen=true

Endif

ForI=1toN;N为网络系统中的PLC个数

Ifi<10then

S$=“@”+“0”+str$(i)+“ts”+“abcd”

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top