6ES7222-1BD22-0XA0产品特点
6ES7222-1BD22-0XA0产品特点
1 引言
近年来,随着微处理器、计算机和数字通信技术的迅猛发展,计算机控制已扩展到了几乎所有的工业领域。它不仅以其良好的性能满足了工业生产的广泛需要,而且将通信技术与信息处理技术融为一体,成为具有逻辑控制功能、过程控制功能、运动控制功能、数据处理功能、联网通信功能的多功能控制器。在plc组成的控制系统中,一般由plc作为下位机,完成数据采集、状态判别、输出控制等,上位机(微型计算机、工业控制机)完成采集数据信息的存储、分析处理、人机界面的交互以及打印输出,以实现对系统的实时监控。这种监控系统充分利用了微型机和plc各自的特点,实现了优势互补。其中的技术关键是实现plc与计算机的互联通信。
2 通信方式和通信协议
2.1通信方式
目前plc和pc机的互联通信方式有以下几种:
(1) 通过plc开发商提供的系统协议和网络适配器,构成特定公司产品的内部网络,其通信协议不公开。互联通信必须使用开发商提供的上位机组态软件,并采用支持相应协议的外设。这种方式其显示画面和功能往往难以满足用户的具体需要;
(2) 购买目前通用的上位机组态软件。这种方式除了要增加系统投资以外,其运用的灵活性也受到一定限制;
(3) 利用plc厂商所提供的标准通信端口和由用户自定义的自由端口通信方式。这种方式不需要增加投资,具备较好的灵活性,特别适合小规模控制系统。
s7-200系列plc的通信接口是与rs-485兼容的9针d型连接器,符合en 50170。附表给出了通信口的引脚分配。
pc机的标准串口为rs-232,西门子公司提供的pc/ppi电缆带有rs232/rs485电平转换器,因此在不增加任何硬件的情况下,可以很方便地将plc和pc机互联。
2.2通信协议
s7-200支持多种通信协议,主要有:
(1) 点对点接口协议(ppi)
ppi是主/从协议,网络上的s7-200 cpu均为从站,其他cpu、simatic编程器或td200为主站;
(2) 多点接口协议(mpi)
mpi是集成在西门子公司的可编程序控制器、操作员界面和编程器上的集成通信接口,用于建立小型的通信网络。多可接32个节点,典型数据长度为64字节,大距离100m;
(3) profibus协议
profibus协议用于分布式i/o设备(远程i/o)的高速通信。许多厂家生产类型众多的profibus设备,如简单的输入/输出模块、电机控制器和可编程序控制器;
(4) 用户定义协议(自由端口模式)
通过使用接收中断、发送中断、字符中断、发送指令(xmt)和接收指令(rcv),自由端口通信可以控制s7-200 cpu通信口。通过smb30,允许在cpu处于run模式时通信口采用自由端口模式。cpu处于stop模式时,停止自由端口通信,通信口强制转换为 ppi协议模式。
自由端口模式为计算机与s7-200 cpu之间的通信提供了一种廉价与灵活的方法。计算机与plc通信时,为了避免各方争用信道,一般采用主从方式,即计算机为主机,plc为从机,只有主机才有权主动发送请求报文,从机收到后返回响应报文。
3 plc端通信编程
plc的通信编程首先是对串口初始化。对s7-200的初始化是通过对特殊标志位smb30写入通信控制字,设置端口0通信的波特率,奇偶校验位、停止位和字符长度。smb130用于端口1的设置。显然,这些设定必须与pc机设定相一致。s7-200系列有专用的发送指令xmt(transmit),通过指定的通信端口(port),发送存储在数据缓冲区(tbl)中的信息。接收指令rcv(receive)初始化或终止接收信息的服务,通过指定的通信端口(port),接收信息并存储在数据缓冲区(tbl)中。为tigao通信可靠性可以采用异或校验(或求和校验)。
使用字符中断方式接收数据,以起始字符作为接收报文的开始,部分程序如下:
//主程序
ld sm0.0
movb 16#05, smb30
//19200bps,8位数据,无奇偶校验,1位停止位
atch int_0, 8 //出现接收字符中断时执行int_0
eni //允许中断
//中断程序
ld sm0.0
dtch 10 //关闭定时中断10
xmt vb100, 0 //回送接收到的数据
atch int_0, 8 //准备接收下一帧报文
需要注意的是,如果使用pc/ppi电缆,在s7-200 cpu的用户程序中应考虑电缆的切换时间。从接收到请求报文后到发送响应报文的延迟时间和再次发出请求报文的延迟时间都必须大于等于电缆的切换时间。通信波特率为9600bps和19200bps时,切换时间分别为2ms和1ms。
4 上位机通信编程
在bbbbbbs环境下开发与工业plc通信的软件,利用visualc++6.0的通信控件mscomm控件编写软件程序。该通信控件提供了使用rs232开发串行通信软件的细则,使用事件驱动或查询方式来解决开发通信软件中遇到的问题。
在当前工程中插入mscomm控件时,如果是基于对话框或视图类是基于cbbbbview的应用程序,加入方法十分简单。如果不是,就需要创建一个mscomm控件。方法与普通的activex控件的创建类似。首先在mainfrm.h中添加声明语句:
protected: cmscomm m_mycom;
然后在mainfrm.cpp::oncreate()函数中添加下列创建控件的语句:
dword style=ws_visible|ws_child;
if(!m_mycom.create(null,style,crect(0,0,0,0),this,id_commctrl))
{
trace0("failed to create ole communications control ");
return -1;
}
开发通信程序部分代码如下:
// 首先初始化通信端口
m_mycom.setcommport(1); //选择com1
m_mycom.setinbuffersize(1024); //设置输入缓冲
//区的大小
m_mycom.setoutbuffersize(512); //设置输出缓
//冲区的大小
m_mycom.setbbbbbmode(1); //设置数据获取方式
m_mycom.setsettings("19200,n,8,1"); //设置通
//信参数
m_mycom.setbbbbblen(0); //设置读取方式
if(!m_mycom.getportopen() );
m_mycom.setportopen (true); //打开串口
收发数据时我们一般习惯于使用字符串形式(数组形式),而读写函数getbbbbb()和setoutput()都要使用variant类型(查阅msdn 可知,idispatch::invoke()的参数和返回值作为variant对象处理),可以用bstr表示字符串(包含宽字符),为了解决系统不支持宽字符的问题,使用了cbytearray,部分程序如下:
// 接收事件
void ccommdlg::oncomm()
{
int icount;
if(m_mycom.getcommevent()==2)
//接收事件,在缓冲区内数据被移走前持续产生
icount=m_mycom.getinbuffercount();
//接收到字符数目
m_mycom.setbbbbblen(icount);
if(icount>0){
colevariant vrec=m_mycom.getbbbbb();
//读取字符
vrec. changetype (vt_bstr);
m_response = vrec.bstrval;
//把接收到的变量赋给应答帧文本框变量
updatedata (false);
… } //数据处理
}
// 发送事件
void ccommdlg::onsend ()
{
// …准备需要发送的命令,放在senddata[]中
cbytearray array;
array.removeall();
array.setsize(icount);
for(int i=0;i
array.setat(i,senddata[i]);
m_mycom.setoutput (colevariant (array);
)
5 结束语
西门子s7-200型plc有很强的通信功能,在硬件配置与安装上,建议系统交流电源使用双层隔离,输入信号光电隔离,tigao信噪比,远离强电布线,模拟量信号和数字信号采用屏蔽线传送,采用可靠接地等措施,能有效地消除或减弱外界信号干扰。在软件设计与编程上,加入抗干扰模块,如采用软件滤波技术,对一些重要模拟量参数进行延时判定,并进一步确认报警;在通讯软件设计中采用多种校验措施等都能大大tigao系统的抗干扰性能。采用本方法设计的通讯程序简单实用、维护和扩充方便,对同类系统的设计与实现有一定的启发
1 引言 2 实现步骤 图1 WINCC组件安装 图2 用STEP7新建项目 图3 声明变量 图4 编辑程序 (4) 下载到模拟软件PLCSIM上 图5 将运行模式调到RUN 图6 选地址 图7 插入OS (2) 修改变量控制属性 图8 修改变量控制属性
图9 选择Compile 图10 选择Compile的编译画面1 图11 选择Compile的编译画面2
(4) 设置PG/PC Interface 图12 设置PG/PC Interface 图13 运行WINCC
图14 设置MPI的参数 图15 WINCC画面的输出值
|
1 PLC 、IPC、PC-Based PLC
随着PC技术的飞速发展,使得IPC(工业控制计算机)以及基于IPC的应用技术同样也得到了突飞猛进的发展。同时,随着Internet技术的应用和所有生产信息过程和控制信息过程的集成与发展,并可通过Internet/Intranet浏览生产过程信息流中的制造过程、操作和监控现场智能设备等,IPC越来越多地承担着SCADA的人机交互控制任务和协同下级小型控制器或智能现场设备的控制任务。总体而言,IPC还是适合应用于自动化控制平台的。但作为传统主流控制器的PLC,它拥有稳定性好、可靠性高、逻辑顺序控制能力强等优点,在自动化控制领域具有的优势。但有一大遗憾:其封闭式架构、封闭式系统(研发必须具备自己或OEM的CPU、芯片组、BIOS、操作系统、梯形图编程软件)、较差的开放性势必会造成其应用上的壁垒,也增加了用户维修的难度和集成的成本。有人断言,在不久的将来,基于PC的控制器将会逐步取代PLC而成为主流控制设备。为了改善这种局面,传统PLC生产厂家正在逐步将PLC的功能PC化(如Siemens的WinAC)、而IPC厂家也逐步将IPC的逻辑控制功能PLC化,使PLC和IPC在功能和规格方面越来越接近,由此就出现了基于PLC和IPC技术的中间控制器:PC-Based PLC。
PC-Based PLC也称嵌入式控制器,它不再像IPC那样以机箱加主板为主体结构,再搭配诸如A/D、D/A、DI/DO等功能I/O板卡的组合产品,而是一个独立的基于嵌入式PC技术的专用系统,适合应用于小型的SCADA系统。如泓格的I-8000系列, 其主机内部是40MHz主频的80188 CPU,操作系统为兼容DOS的MiniOS7,其编程环境是基于PC的标准C语言程序,程序开发过程与PLC极其相似:首先在PC上编写常驻任务程序,并将其编译好后传送到主机内的Flash上、再让其脱机运行。另外为了使其具备PLC的优势特性,PC-Based PLC也可使用梯形图编程,如泓格的ISaGRAF(配合I-8417/8817主机),相对于PLC而言,PC-Based PLC的优势在于拥有IPC强大的Computing、Data Processing和Communication功能,在软件方面,PC-Based PLC支持IEC-61131-3(LD、SFC、FBD、IL、ST)的五种语言和软逻辑。由于以上特点,PC-Based PLC将会更加开放和标准化,能适应更加复杂的控制和管控一体化信息的需求。
总的来说,IPC是开放式架构、开放式系统,PLC则是封闭式架构、封闭式系统,而PC-Based PLC介于二者之间,是开放式架构、封闭式系统。严格地说,IPC一般承担着管理控制任务和协同下级小型控制器或智能现场设备的控制任务,而PLC一般用作现地控制器。由于PC技术、信息技术、通信技术的交替发展,使得研发PC-Based PLC的投资相对减少,会有更多的厂家来共同推进PC-Based PLC的发展。因此,PC-Based PLC会有非常好的发展前景,但这并不意味着在短时间内PC-Based PLC会取代PLC,PLC和PC-Based PLC将会在竞争的发展中逐渐走向融合[1 、2]。
2 基于PC-Based PLC架构系统的应用技巧
2.1 AI模块
AI(Analog bbbbbs)的多寡对系统的运行的实时性和稳定性有较大的影响,尤其是当AI模块较多时其影响更大。主要原因为:I-8000模块的CPU仅仅是一款主频只有40MHz的80188的控制器,其数据处理能力、存储空间有限,导致其运算、逻辑处理以及事件响应的快速性就没有IPC那么强大,由于CPU要完成一次A/D的整个过程必须要进行采样、保持、同步、转换、存储、处理以及运算等一系列的过程方可完成,比较费时,因此,当要完成的AI通道数较多时,必然会影响采样的实时性和系统的稳定性。通常而言,在一个I-8000模块中,一般不要超过两块如I-8017H系列的AI模块为佳。
2.2 继电器输出模块
继电器输出模块对整个系统的影响大,处理不好,将会导致整个系统崩溃和经常出现当机、主机板烧坏等现象,由于I-8000模块的供电一般为10~30VDC,总的输入功率为20W,不像IPC的输入功率为250W那么大,假如继电器输出模块尤其是大功率继电器模块插放的太多,由于系统供电能量不足,将会导致其输出不正常,控制系统经常误动作,导致系统崩溃、当机,甚至会导致主控板烧坏,使系统的稳定性、安全性以及可靠性存在许多隐患因素。一般而言,像I-8060、I-8058、I-8063、I-8064、I-8065、I-8066、I-8068、I-8069等不要超过两块,尤其是I-8060、I-8063、I-8064、I-8065、I-8069这些功率模块好为一块。假如系统要控制的功率继电器较多,可以采用普通光隔开关量输入/输出模块如I-8042利用多级放大的原理连接。
2.3 通信处理
在由PC-Based PLC架构的控制系统为重要的一个环节便是与上位机进行的实时数据通信过程,而这一环节往往是制约系统实时性和稳定性的因素,它容易出现数据瓶颈。因为上位机通常为bbbbbbs操作系统,应用程序一般有人机交互界面和实时显示界面,而往往将人机交互界面和实时显示界面设计为前台窗口,数据通信、分析以及存储设计为后台运行,但bbbbbbs 并不是作为实时操作系统设计的,是抢先式、多任务、基于消息传递机制的操作系统,但仅凭消息调度机制,显然不能满足实时系统的要求,难以保证准确实时地完成前后台控制任务。因此在bbbbbbs环境中,采用多线程技术,可以有效地利用bbbbbbs等待时间,加快程序的反应速度,tigao执行效率。用一个线程管理计算机数据通信,另一个线程进行数据处理、分析与存储,这样在满足数据连续采集的同时,增强了系统事件响应和通信控制的实时性。
PC-Based PLC与上位机一般采用RS-485、CAN、ModBus或者Ethernet,假如采用RS-485、CAN、ModBus时,则要合理分配通信口,一般RS-485、CAN、ModBus的通信适配器卡有两个口,因此假如控制系统有两个I-8000模块,上位机可以采用一个通信口与两个下级控制器通信,但是假如有四、六个……,好将其分成两组,上位机则采用两个通信口分别与其通信,上位机采用两个线程编写通信程序,配置图见图1所示。
2.4 电源配置
假如一个控制系统有多块I-8000模块,考虑到系统的经济性以及安全性,好每两块I-8000公用一个开关或者线性电源,考虑到电源本身的功耗,此时电源的功率必须大于60W,并且每个电源模块分别接入~220VAC或者~380VAC的电源,千万不要串接。选择开关电源时要注意选用系统功率因数大于0.99且纹波电压Vrms≤1.0%、纹波系数≤0.2%的功率密度大、电磁兼容性好、低纹波开关电源。同时将控制器I/O通道和其它设备的供电采用各自的隔离变压器分离开来,有助于tigao控制系统的抗干扰能力。
2.5 信号地的处理
正确、良好的接地可以将混入电源和I/O电路的干扰信号引入大地,消除或减小干扰的影响,是安全保护和抑制噪声的重要手段,对tigaoI-8000系统的稳定性、可靠性极其重要。为了尽可能减小电磁噪声影响,电源回路和控制回路要分别设立接地极。在控制系统中难免有变频器之类的功率器件,注意要将变频器散热器、电源中性线、变频器外壳和中性端、电机外壳和Y型接法中性端要可靠接于电源回路接地极上,所有接地线不可形成接地回路。变频器接地电阻越小越好,接地导线截面积应不小于4mm2,长度应控制在20m以内。屏蔽层、数字信号地接于控制回路接地极。为防止形成回路,屏蔽层应单端接地。控制器的接地线与电源线、动力线分开。I-8000好单独接地,也可以与其他设备公共接地,但严禁与其他设备串联接地。
3 实际应用案例
在小型石油公司中,要进行大量的油料计量工作如轻油、0#汽油、90#汽油等,其计量过程往往是车队从货运站拖回公司后经公司磅房过磅称毛重、卸料、车辆出厂时,再过磅称车重等等,过磅过程、手续、登记极其繁琐,有时还容易出现错磅和漏磅现象,极不容易管理,并且给统计、计量工作带来了极大的困难,过磅工人的劳动强度大,经常出现车队排队过磅的现象,办事效率极其低下,为改变这种局势,采用PC-Based PLC I-8411嵌入式控制,并配以模拟信号输入模块I-8017H、模拟信号输出模块I-8024、光隔离数字输入/输出模块I-8042、I-8060继电器输出模块以及RS232/RS485转换器I-7520,并利用计算机控制技术,为其不同的油料的进站计量、出站计量、统计等开发了一套分布式的油料计量、统计管理系统,省时又省力,深得用户喜爱。系统架构图件图2所示。
图2:基于I-8411的分布式计量架构图
3.1 功能模块
1) 利用I-8017H的差分输入的6路分别采集运输车油罐的液位、液体温度、两个LUGB系列涡街liuliang变送器的liuliang值(备计算用,取两个liuliang计的平均值作为真正的liuliang值)、存储油罐的液位值以防液体溢出、温度等;
2) 利用I-8024的D/A功能,输出0~10V的直流信号作为Siemens公司的Micro Master通用型变频器的变频控制输入信号,以使变频器能进行V/F转换,变成0~50Hz的交变信号实时控制三相异步电机,达到使电机变频运行、促使液体恒速流动的目的。
3) 利用I-8060功率继电器输出信号实时控制各种liuliang继电器、liuliang控制电磁阀、电气接触器的开启;
4) 利用I-8042的数字I/O进行各种开关的检测与控制,同时实时检测liuliang继电器、liuliang控制电磁阀、电气接触器的闭合状态;
5) 利用I-7520作为RS-232/RS-485的转换器,使I-8411与上位机服务器的串口进行数据通信。
3.2 安全可靠措施
1) 尖峰脉冲的处理:由于在本系统中用到了大型的可控硅,其闭合与断开要产生巨大能量的尖峰脉冲,这一脉冲一旦进入信号系统中,不仅会引起控制系统的误动作,更为甚者,会烧坏控制设备、死锁控制信号输入通道。尤其是对I-8017H、I-8024、I-8042等模块影响较大,为了减少其影响,在每个控制模块的输入或输出端加入一阻容保护电路,以吸收其尖峰脉冲。同时信号地和电源地要分开。
2) 变频器过压的处理:在本系统中利用变频器拖动大惯性的牵引电机,由于变频器输出的速度比较快,而负载靠本身阻力减速比较慢,使负载拖动电动机的转速比变频器输出的频率所对应的转速还要高,电动机处于发电状态,而变频器没有能量回馈单元,因而变频器支流直流回路电压升高,超出保护值,出现过压故障。因此必须增加再生制动单元,否则会干扰SCADA系统。
3.3 系统功能
1) 数据显示:对每种油料以数字、棒图、曲线的方式显示实时采集的liuliang、温度、开关状态、电机转速等各项参数;
2) 可进行liuliang和总量的计算,生成日报、月报、年报等;并可存储多年的历史记录;
3) 数据修复维护:具有参数设置和数据丢失修复功能。
4) 与公司的MIS系统实时交换数据
4 结束语
PC-Based PLC的发展得益于嵌入式CPU、嵌入式操作系统和IEC-61131-3(LD、SFC、FBD、IL、ST)标准化编程语言的发展,PC-Based PLC具有IPC和PLC的两重特性,具有PLC的系统结构,又具有IPC的开放式架构,目前在工控界是IPC、PLC以及PC-Based PLC共存的时代,又是三者逐渐走向融合的时代,随着嵌入式CPU、嵌入式操作系统以及符合IEC-61131-3语言开发工具的发展,PC-Based PLC或嵌入式控制器将更加开放和标准化,功能将会更加强大、数据通信能力将会更强、数据处理能力更快。更能适应更加复杂的工业控制需求。
- 西门子S7-1200 SB1222 数字量信号板模块6ES7222-1AD30-0XB0
- 西门子SM1222 数字量输出模块16输出24V 6ES7222-1BH32-0XB0
- 西门子SM1222 数字量输出模块, 16输出继电器6ES7222-1HH32-0XB0
- 西门子SM1222 数字量输出模块6ES7222-1XF32-0XB0 8输出切换继电器
- 西门子SM1222 数字量输出模块6ES7222-1BF32-0XB0 8输出24V 8输出24V
- 西门子SM1222 数字量输出模块6ES7222-1HF32-0XB0 8输出继电器
- 西门子6ES7222-1BH32-OXBO 现货 质量保证
- 西门子6ES7222-1HF22-0XA8授权代理商-现货供应
- 模块 6ES7222-1HH32-0XB0具备外部短路保护功能
- 西门子S7-200 EM222 4出继电器6ES7222-1HD22-0XA0