西门子6ES7221-1BF22-0XA8型号含义
0 引言
西门子工控产品在我国有较高的市场占有率,它的通信及网络产品有着引导世界工控技术潮流的作用,研究西门子工控产品及通信技术的实际应用问题有着广泛普遍的重要意义。本文通过对某市级烟草公司的卷烟配送分拣系统的研究,探讨了在bbbbbbs环境下,用Delphi 开发的数据库应用软件与西门子S7-300 之间通信的实现问题。该卷烟配送分拣系统计算机部分结构如图1所示。
图1卷烟配送分拣系统计算机部分结构图
该系统管理计算机接收信息中心局域网发送来的各条送货线路当天的访销信息数据,在此基础上管理计算机建立起以送货线路为单位的配方数据库将配方数据分批次连续地下传给PLC。PLC根据下传的配方数据对系统控制使其连续分拣和收集, 系统工作状态及工作数据通过PROFIBUS 现场总线在两个触摸屏TP27-10得到动态显示,后在收集工位自动得到一箱对应一个销售网点的用户配料。为了提高调试系统的效率,我们在DELPHI 和MicrosoftAccess数据库平台上编写了用于PLC控制程序的调试软件。
从上看出该系统能否研制成功必须要解决的问题:是西门子S7-300 系列PLC通讯协议不公开,管理计算机和调试计算机上第3方软件编制的程序如何实现PC 机与西门子S7-300系列PLC信息交换?通过技术调研和实际调试我们成功实现了在VB 、DELPHI程序开发平台上开发的管理程序及调试程序与S7-300系列PLC通信,顺利完成了系统研制任务。限于篇幅,本文以调试软件的通信实现方法来讨论第3 方应用软件与西门子S7-300PLC的通信问题
1 调试软件设计
根据PLC 控制程序的调试要求,该调试软件使用DELPHI 的数据库技术把事先设计的60个配方数据写入数据库, 根据调试需要也可通过人机界面对数据库中的数据进行任意修改,当执行“下传数据”命令时把数据库中的数据字段进行一定数据处理后通过调用PRODAVE S7软件包写入PLC中对应的DB(DATABLOCKS)块,其中一条记录对应一个DB块,每条记录的一个字段对应该DB块中的一个字。该调试软件也可按一定顺序读PLC中各DB块中的字,并把读取的数据经过处理后写入数据库,以供调试人员检查写入数据的正确性。PC机与PLC CPU318-2DP MPI 口之间的数据通信是通过PC/MPI 适配器硬件连接实现的。
图2PLC控制程序调试软件结构及硬件连接图
2 数据通信
2.1通信软件
实现PC机与PLC之间的数据通信是一个棘手的问题西门子公司的PRODAVES7软件包的动态链接库(DLL )提供了大量的基于bbbbbbs NT、 bbbbbbs95/98、 bbbbbbs3.11或MS-DOS的函数,这样就使用户解决PLC与PC之间的数据交换和数据处理问题变为可能。
2.2通信函数
在DELPHI 的bbbbbb Pascal 语言中,要访问动态链接库DLL (Dynamicbbbb Library) 中的例程有两种方式。一种是静态引入方式;另一种是动态引入方式。
本软件使用静态引入方式,即在单元的Interface部分用External指示字列出要从DLL中引入的例程。如果要引入的例程比较多,就可以用一个专门的单元来集中声明要引入的例程。
PLC控制程序调试软件用到的PRODAVE函数主要有:
(1) load_tool PC 机与PLC系统初始化链接;
(2) unload_tool 断开PC 机与PLC系统链接;
(3) db_read 从PLC的DB 块中读数据字;
(4) db_write 向PLC 的DB 块中写数据字
2.3通信程序的实现
在该调试软件中用一个专门的单元集中声明要引入的PRODAVE S7动态链接库的例程,在程序中再引用这个单元,即把引入单元“prodave”加到程序的Uses 子句该引入单元的代码如下:
统布置要求叙述如下:
plccpu负责开关量、模拟量的采集、运算,实施直接的控制功能;通讯模块cmm311通过两个通讯口分别连接上位机及触摸屏,实现人机界面与plc的数据通讯;pcm模块的com2与westinghouse(西屋仪表)mintii网络转换器相连,负责通过mintii网络转换器与现场三个种类的12台westinghouse仪表通讯,采集电流、电压、功率等各种物理量的实时数据,com1在调试完毕后用来与现场一台三菱fx2nplc通讯,实现从geplc系统到fx2n系统的数据通路,方案图如图1所示。
2.1minitii转换器通讯协议简介
在这个方案中,minitii与下位设备的硬件连接为双绞线,minitii及下位各设备都并入双绞线组成的westinghouseincom网络,在该网络中各通讯主体使用二进制通讯方式,数据帧均由33位二进制数构成,minitii充当主站(master)角色,对下位各设备发起通讯,进行轮询。
pcm311模块与minitii转换器进行的是ascii码通讯方式,而minitii转换器与下位dt3000、mp3000、iq200各系列设备的通讯方式为二进制码通讯,实际上minitii所起到的作用是将pcm模块发出的ascii码指令帧转译为二进制码指令帧,当然,在通讯过程中,我们只需关心ascii码通讯帧的格式,minitii会自动将其转为二进制格式后发到incom网络中去。
minitii模块的25针rs232串行口接收的ascii码帧由10个ascii码字符组成,分为控制指令帧、数据指令帧两类,大致形式如下:
控制指令:
(stx)(c/d)(inst)(comm)(scomm)(address)(sumcheck)
数据指令:
(stx)(c/d)(data)(sumcheck)
stx:第2号ascii码,占一位
c/d:控制指令时为1,数据指令时为0,占一位
inst、comm、scomm:由这三个数字需要返回的参数,各占一位
address:指令的发送对象,是一个三位数的十六制数,占三位
sumcheck:和校验码,占二位
data:返回的数据信息,占六位
minitii串行通讯参数在其面板上通过开关来选定。
2.2fx2nplc通讯协议简介
fx2n是三菱品牌plc在小系统控制应用中使用较多的一种经济型plc,外部设备通过232bd、485bd等插件或485adp等模块可与其建立ascii码串行通讯,读取plc内部寄存器的值。其协议格式如下:
(1)读寄存器
*外设:(enq)(站号)(pc号)(命令字符)(等待时间)(头元件)(元件数)(和校验)
*plc:(stx)(站号)(pc号)(返回数据)(etx)(和校验)
*外设:(ack)(站号)(pc号)
(2)写寄存器
*外设:(enq)(站号)(pc号)(命令字符)(等待时间)(头元件)(元件数)(写出数据)(和校验)
*plc:(stx)(站号)(pc号)
*enq、stx、ack、etx:为相应的ascii码
*站号:plc的站地址,为两位十六进制数(00-0fh),由plc的d8121寄存器
*pc号:用于a系列melsecnet网络中的plc,对fx2n均为ffh
*命令字符:分为位读(br)、位写(bw)、字读(wr)、字写(ww)
*等待时间:以10ms为单位,以十六进制数表示,占一个字符(0-f)
*头元件:为要读、写的开始元件号,如m0001、d0000等。
*元件数:为要读、写的元件个数。
*返回数据、写出数据:为从plc返回的寄存器值或要写到plc的数据值
由于fx2n与*控制柜距离较远,故本系统中采用fx2n与485bd插件,pcm311模块经232/485转换器与485bd相连,转换器与485bd之间采用两对双绞线相连,全双工方式通讯,plc串行通讯参数在d8120中设定
西门子S7-200SMART继电器输出模块CPUSR30
2号针脚--RS232 信号输入接收。3号针脚--RS232 信号输出发送。 5--接地等电位
CM 1241 RS422/485 接线 (6ES7 241-1CH31-0XB0)
CB1241 RS232 通讯模块,订货号为: 6ES7 241 1CH31-0XB0 接线如图3
图2 CM1241 RS422/485
注释:
RS422 接线方法: 2号与9号针脚 -- RS422 发送信号。 3号与8号针脚 -- RS422接收信号;SHELL接屏蔽等电位点 。
RS485 接线方法:3号针脚--RS485信号 B(+) ;8号针脚--RS485信号A(-) 1号针脚-电位点。
RS232、422及485 的通讯距离和终端电阻
RS 232 通讯长距离为 10 米屏蔽电缆
RS 422/R485 通讯长距离为 1000 米屏蔽电缆(取决于波特率及安装终端电阻)
RS 485 终端电阻安装方法及阻值大小,如图4
调试接口
1 USB接口(下图红框)位于CU单元的中部,是G120调试的通用接口。
2 PROFIBUS DP通讯接口(见下图红框),适用于有PROFIBUS DP通讯的CU单元。
通过DP接口可以连接变频器,用于调试。
3 PROFINET通讯接口,适用于有PROFINET通讯的CU单元。
通过PN接口可以连接变频器,用于调试。
4 通过路由方式也可以实现跨网络访问
一、基本电路检查
1. 电压检查 ▼
在电压检查之前,需要创建检查点存在电压的条件,即让检查点具有电压,如下图所示。
使检查点存在电压的条件有以下几点:
A:点火开关置于ON位置。
B:点火开关置于ON位置且开关1打开。
C:点火开关置于ON位置、开关1打开且继电器接通(开关2关闭)。
使用万用表将负极引线连接到良好搭铁点或蓄电池负极端子上,将正极引线连接到连接器或零部件端子上。
执行电压检查时,可用测试灯代替万用表。
2.导通性和电阻检查 ▼
断开蓄电池端子或线束,使检查点之间不存在电压。将欧姆表的两根引线与每个检查点连接,如下图所示。
如果电路有二极管,应对换两根引线并检查。将负极引线和二极管正极连接,正极引线和二极管负极连接时应导通,将两根引线对换时应不导通(下图)。
使用高阻抗(小10kΩ/V)电压/ 欧姆表对电路进行故障排除。
3. 电路短路检查 ▼
拆下熔断的熔丝,断开熔丝的所有负载,在熔丝处连接测试灯,创建使测试灯点亮的条件(下图)。
A:点火开关置于ON位置。
B:点火开关置于ON位置且开关1 打开。
C:点火开关置于ON位置、开关1打开、继电器接通(连接继电器)且开关2关闭(或断开开关2)。
观察测试灯的断开并重新连接连接器,在使测试灯一直亮的连接器和使测试灯熄灭的连接器之间存在短路。沿主线束轻轻摇动故障线束,找出短路的确切位置。
4. 电压降测试 ▼
电压降检测经常用于查找电阻过大的零部件或电路,电路中的压降是由于电路工作时电阻造成的。检查电线的方法是,当用数字万用表测量电阻时,连接单股导线时的读数将为零,表示电路正常。当电路工作时,单股导线不能承载工作电流。单股导线将对电流产生高电阻,这样就会产生一个小压降。
下列许多情况可能产生附加电阻:
① 电线太细(例如单股导线)。
② 开关触点腐蚀。
③ 电线连接或缠接松动。
进行修理时,一定要用等粗的或更粗的电线。
01 测量压降的方法—累积法 ▼
在要检查的插头或线路的零部件上跨接数字万用表。电压表的正极应靠近电源,负极靠近地线开关。
接通电路使电路工作。
数字万用表将显示“推动”电流通过电路部分的电压是多少。
如下图所示,在蓄电池与灯泡之间有一个4.1V 的过大压降。
02 测量压降的方法—步进法 ▼
步进法是检查低压系统(如“计算机控制系统”)压降过大的有效的方法。“计算机控制系统”中电路工作电流很低,该系统工作会由于系统内的任何电阻变化而受到不利影响。电阻变化可由于接触不良、错误安装、错误的电线规格或腐蚀引起。步进压降测量法可以找出电阻过大的零部件或电线。
① 连接数字万用表,打开点火开关。
② 电压异常下降表示有部件或电线需要修理,从下图中可以看出连接不良导致降低了4V的电压。
二、控制单元电路测试
1. 开关在控制装置前的电路测试 ▼
如下图所示,当开关处于ON位置时,控制单元会点亮灯泡。
该测试电路输入/ 输出电压如下表所示:
(表中的电压值是以车身接地为基础设置的)
2. 开关在控制装置后的电路测试 ▼
如下图所示,当开关处于ON位置时,控制单元会点亮灯泡。
该测试电路输入/ 输出电压如下表所示:
(表中的电压值是以车身接地为基础设置的)