全国服务热线 15221406036

广西西门子PLC总代理商

更新时间:2024-05-08 07:10:00
价格:请来电询价
联系电话:
联系手机: 15221406036
联系人:聂航
让卖家联系我
详细介绍

广西西门子PLC总代理商

一、项目介绍  1.简介苏州奥智机电设备有限公司一直致力于空调用铜、铝管加工设备的研发、设计、制造及服务,为用户提供高性价比的zhuoyue产品。其研制的在线退火设备是近年来开始在铜、铝管加工行业中大量应用的设备,与传统的辊底炉相比,占地面积仅为四分之一,而且节省工序,省却了传统的在退火前缠绕的工序,降低了管材消耗和在工序过程中的擦伤。管材的成品率高,数千米长的盘管上废管只有1-2米,产生在整盘管材的开头部分,能实现盘到盘的加工流程,极大地提高了生产效率。该设备采用S7-300PLC结合人机界面通过PROFIBUS-DP通讯协议实现对MM4变频器的速度控制,整个电控系统体系简明,布线简单可靠,控制运行准确平稳,收到了良好的效果。2.简要工艺介绍在线退火设备用于将料篮装载的硬态管通过在线感应加热方式退火成软态管。在连续运行过程中,将置于保护气体氛围中的管材通过中频感应加热,使其温度达到480度左右,再通过保温区(确保在一定的温度下有时间在加热后进行全晶粒的匀化并消除管子表面的褪色),进入到快速冷却区(即将冷却水直接喷淋到加热后的管材上使其快速冷却),将附着在管材表面的水通过吹干装置吹干后进入到履带式自动张力装置,使管材在行进的过程中一直保持一个合适的张力,然后经过抺油处理后进入到收料篮中。外观示意图如下:


下图为设备生产现场: 二、控制系统构成1. 系统硬件1) PLC     设备长度较长,各个操作台与主控柜距离较远,考虑到接线的方便、简洁、易维护,采用分布式I/O。另外,整个系统点数较多,需要通过高速计数来实时测得机组线速度,并且有多个模拟量信号要采集,故选用CPU314C-2DP。其集成了数字量和模拟量输入输出,频率测量功能,集成的DP接口可以多带32个从站,具有极高的性价比。2) HMI为了方便对系统的工艺参数,过程参数进行设置和监控,选用了西门子TP270-10作为人机界面。它与西门子PLC的完美结合,使整个系统在硬件和软件上均达优化。3) 变频器MicroMaster440是新一代可以广泛应用的多功能标准变频器。它采用高性能的矢量控制技术,提供低速高转矩输出和良好的动态特性,同时具备超强的过载能力,以满足广泛的应用场合。创新的BiCo(内部功能互联)功能有无可比拟的灵活性。可选的PROFIBUS-DP/Device-Net通讯模块,实现了通讯的多样性。此项目中放料和收料都由交流变频电机通过减速箱驱动料篮高速旋转,属于大惯量系统,而且要求很高的起动转矩;通过采用MM440的无速度传感器矢量控制方式,可以获得接近闭环控制的性能,速度精度可达0.2-0.5%,同时省去了速度传感器,具有较低的维护成本。与传统V/Hz控制比较,无速度传感器矢量控制可以获得改进的低速运行特性,变负载下的速度调节能力亦得到改善,同时还可获得高的起动转矩,这在高摩擦与惯性负载的起动中有明显的优势。正是由于这些驱动特性,此项目选择了MM440变频器。2.控制系统主要器件  电源模块               6SE7 307-1KA00-0AA0                    2块 CPU模块                6SE7 314-6CG03-0AB0                     1块 数字量输入模块        6SE7 321-1BL00-0AA0                       3块 数字量输入模块         6SE7 321-1BH02-0AA0                  1块 数字量输出模块         6SE7 322-1BL00-0AA0                  2块 分布式I/O模块          6SE7 153-1AA03-0XB0                   1块 人机界面               6AV6 545-0CC10-2AX0                      1个 MM440变频器            6SE6 440-2UD33-0EB1                 3台 MM440变频器            6SE6 440-2UD31-1CA1                 1台 MM440变频器            6SE6 440-2UD17-5AA0                 1台 变频器DP通讯板         6SE6 400-1PB00-0AA0                 5块3.系统配置根据以上的选型,组成了如下的控制结构图: 三、控制系统 按照下面的设备布置图,简要阐述系统的控制过程  1.此项目中的系统是一个以矫直传动为基准的速度随动系统,要求放料,张力,预弯,收料装置能够随时动态跟踪矫直速度。由于放料料篮中的管材是散乱的,故在放料摆臂上设置一个DANCE电位器用来跟踪管材所处位置,根据它反馈的信号,PLC对驱动速度进行实时修正。由于放料是一个大惯量系统,在减速过程中,变频器需通过外接制动电阻来及时地释放能量,以满足其快速的响应能力。2.矫直系统作为速度基准,由PLC通过DP通讯输出速度给定,总线速率设为1.5Mbps,使驱动有足够高的快速响应能力。其它部分系统的速度给定都由矫直的速度反馈经过适当的比例修正后得出。考虑到感应加热部分输出功率的响应速度,矫直的斜坡时间设为60S,并在变频器内设置“S”曲线,使得设备的启动和加减速更加平稳。而其它装置的斜坡时间则设得尽可能的短,以保证其足够灵敏的跟随性。3.张力装置用于对管材产生一定的张力,防止出现堆管及断管,故其速度要大于矫直速度。设备在调试过程中经常出现堆管现象,经过仔细考虑,认为是在启动过程中,由于张力装置的速度给定来源于矫直装置的速度反馈,虽然通讯速率很高,斜坡加速时间设得很短,但仍存在滞后性,因此在程序中加以弥补。在启动设备时,同步地将矫直速度给定传送至张力装置,待速度起来后再切换成速度跟随,即一开始张力装置的速度给定来源于矫直速度给定,速度起来后切换成矫直速度反馈,经实践验证,效果很好,没有再出现堆管现象。

4.为了适应下一道工序的生产需要,用户要求收料篮中的管材应有序排放,故专门做了一个均匀布料的FC功能块及触摸屏设置界面。如下图所示:

 主要思路是先在料篮底部构建一个BOX区域,然后在BOX区域的上面让管材在更宽的区域里排放,终使其形成一个三角形的形状,在这种状况下,会使下一道工序的生产更加顺畅。下面来阐述一下实现的过程:收料是一个速度跟随系统,其线速度表达式为V=K×n÷I×DK:修正系数n:电动机转速I:减速比D:管材所处位置的料篮直径由上式可推导出,在V、K、I都不变的情况下,D与n成反比关系,通过改变D即可改变n。均匀布料实现方法:按照管材所处料篮直径D(D是料篮每转一圈都发生变化的)计算出n作为电机给定速度,电机给定速度有规律的变化使管材的排放有序进行。    BOX区域构建:收料处装有一个接近开关,在机组运行过程中实时地检测料篮转动的圈数(N)。根据在触摸屏中设置的“BOX管材排放外径”(D1)和“间距”(D2),先从右至左排放,其实际直径D=D1-D2×N,当N=“BOX宽度”时,层数加1,N清零,并将D赋值给D’;然后开始从左至右排放,其实际直径D=D’+ D2×N 。如此循环,直到累计层数=“BOX高度”,则此区域构建完成。三角形构建:BOX区域上方的排放方式同上,只是其宽度更广(“上层管材排放内径”与“上层管材排放外径”区间为其排放区域);由于其底下是一个宽度比它小的矩形(并不是一个十分规则的矩形区),超出矩形宽度部分的管材会自然掉落在料篮的底部,在矩形宽度内的部分会向上堆积,由此形成三角形状“⊿”。通过在HMI中设置相应参数,用户可以自行调整BOX区域的大小,以及上层区域的宽度及排放的紧密度,由此完美地解决了用户的需求。在触摸屏中也设置了相应的观察项(图中的白底部分),如当前层数,当前圈数,当前收料直径,便于针对具体管材排放情况对参数设置进行修改。5.为了保证退火时管材表面温度的恒定,感应加热功率输出的设定必须跟随管材运动的实际线速度及管材规格,由于铝管规格很多,在HMI中运用配方功能来实现,某一规格一旦调试好后下次用户只需调用即可,非常方便,如下图所示:速度段内的感应加热功率输出通过斜率计算得出,非常地柔性化,使整个加热输出平稳可靠。通过加热修正可以对加热功率输出做补偿,修正值则自动存放在当前配方中,方便下次调用。 四、项目运行       系统自2008年6月投入使用,经过连续不间断的运转,一直保持稳定运行;同时由于操作简便,适应性强,深受用户好评。在我们的出口机型中,采用了MASTERDRIVE变频器替代MM440,运用带速度反馈的矢量控制模式,能够取得更高的速度精度,更好的低频特性及更高的启动转矩,并运用DP/DP COUPLER来与用户系统协作。与现在的方案相比,在档次提升的同时成本也会显著增加。 五、应用体会通过本项目的设计、调试,也有了一些心得体会:1.退火温度应采用铝业专用红外测温仪测量,由于管材在高速运动过程中不可避免地产生抖动,导致测量的温度产生些许波动,通过在程序中增加采样次数,使得温度显示更加平稳。值得一提的是采样程序是从S7-200的系统手册里搬来的,非常实用。2.触摸屏组态软件以前用的是Protool,现在改用Wincc Flexible 2005了,感觉确实象它的名字一样,非常地柔性化而且功能也更加强大了。2.1用Protool编写的界面可以直接移植到WINCC FLEXIBLE项目中;2.2采用Wincc Flexible组态时可以设置成与多台PLC通讯;2.3在功能组态时,可以把功能进行 Copy ,直接复制到另一个执行元件中,很是方便;2.4应对双语环境,Wincc Flexible 可在组态环境中直接进行多语言的对比翻译输入,这在与国外客户协作的项目中非常实用,因为国外客户要看他本国的语言,而国内的操作工要看中文。3. 项目中既有变频器又有中频电源,因此在抗干扰方面就显得非常重要。对此SIMOREG DCmaster使用说明书中关于“驱动装置EMC安装指导”的描述非常值得深读并借鉴。在此项目中我们也尽量按照其规则来实施,因而在整个调试过程中没有遇到这方面的麻烦。通过本项目的成功开发与应用,体现了西门子自动化产品的稳定性,易用性,灵活性以及较高的性价比。

1 引言
  可编程序控制器(programmable controller)简称plc是以微处理器为基础的新型控制装置,是将计算机技术应于工业控制领域的崭新产品。它集逻辑运算、顺序控制、定时、计数、算术运算功能为一体。另外还可以与其他计算机进行通信联网,这种通信不但包括不同的plc之间的数据交换,而且还包括plc与计算机之间的通信。本文介绍笔者使用vb6.0实现plc与上位机之间的通信,使运行人员通过油机配电屏的显示可以监测并控制远端设备的工作。

2 系统构成
  本系统采用plc采集模拟信号、数据处理,通过串行通信口上传到计算机,计算机对传上来的数据进行分析、分类记入数据库,实时显示在配电屏上并提供数据查询。plc为s7-224,串行通信接口的信号线采用rs-485,此信号线为半双工,即不能同时接收和发送。将plc置于run状态,就可以将plc中存于发送缓冲区中的数据及信号送入上位机的串口,上位机通过串口通信程序接收这些数据后显示并通过数据库控件adodc的绑定,把数据记录到数据库,从而完成数据的采样。本工程所需采集的数据包括日常量、故障量和设备动作量。对于日常量需每时每刻的数据显示在配电屏的主控制平面上,以便工作人员观察实时数据,但是不需要把日常量都记入数据库,只需隔一段时间记录一次(在这里每隔半小时记录一次),对于故障量和设备动作量要求只要设备发生故障或动作就要记录到数据库,以便工作人员查询。

3 s7-200的通信方式与通信参数的设置
  s7-200的通信功能很强大,有多种通信方式可供用户选择,包括单主站方式、多主站方式、使用调制解调器的远程通信方式等。本工程选择 step7-micro/win32支持的通信硬件pc/ppi电缆,它所支持的波特率有9.6kbps和19.2kbps,支持的协议为ppi协议,即点对点接口协议,基于开放系统互联模型osi。ppi是主/从协议,网络上的s7-200cpu均为从站,其他cpu、simatic编程器或td200 为主站。s7-200 cpu的通信端口采用rs-485信号标准的连接口,pc/ppi电缆把s7-200 计算机连接起来,通过使用接收中断、发送中断和字符中断等指令,自由端口通信可以控制s7-200cpu通信口的操作模式。本工程使用的是自由端口模式,允许在cpu处于run模式时通信口0使用自由端口模式,通过设定smb30的值,我们可以选择波特率、奇偶校验、每个字符的数据位和协议。cpu处于stop模式时,停止自由端口通信,通信口强制转换成ppi协议模式,此时,就可以向cpu中输入plc程序,实现编程软件对plc的编程和控制功能。在这里的通讯过程采用主从方式,即计算机为主机,plc为从机,只有主机计算机发送请求报文后,从机plc才向pc返回发送缓冲区中的数据。

4 自由端口模式下plc的通信
  由于本工程使用的是pc/ppi电缆,所以要在plc的程序中考虑电缆的切换时间。plc接收到请求报文到它返回发送缓冲区的数据的延迟时间必须不小于电缆的切换时间。波特率为9600bps时,电缆的切换时间是2ms。在本工程的程序中是用定时中断实现切换延时的。
定时中断子程序:
network title ’定时中断程序int_2
ld sm0.0
dtch 10
xmt vb200, 0
  当程序运行到“启动定时中断”(即atch int_2, 10)的语句时,就会跳到如上所示的中断子程序中,sm0.0是特殊存储器,该位始终为1,即只要plc处于run状态,这一开关即是接通的。xmt vb200, 0语句是用来发送数据到串口的,此时发送的是存储在以vb200为首地址的连续的存储空间中的数据,是通过端口0发送的。
  另外为了提高通信的可靠性,我们需要使用到异或校验,即在通信的双方都将每一帧的每一个字符作异或校验,将两者进行对比,如果不相同则可以判定通信有误。
network1 network title ’求异或校验码的子程序fcs
ld sm0.0
movb 0, #xorc
bti #numb, #numi
for #temp1, +1, #numi
movb 0, #xorc ’用来把异或校验码
清零, 用bti#numb,
#numi将字节数
转换为整数
network2
ld sm0.0
xorb *#pnt, #xorc
incd #pnt
network3
next
  for到next语句指明了一个循环,从这一帧的个字符开始(不包括起始字符)到该帧中后一个字符作异或运算。通过调用这个子程序可以计算所指定的数据存储空间内的字符的异或校验码,如果在上位机中的vb程序中也有计算校验码的子程序,那么就可以比较这两次计算的校验码是否相同。可以使用语句(call fcs, &vb102, vb99, vb90)来调用该子程序,其中&vb102是指出子程序fcs进行校验的起始地址,vb99是用来存储需要异或的字节数,而vb90是用来存储计算出来的校验和。假设把从上位机接收到的校验码存储在vb91中,比较vb90和 vb91中的数据就可以检验这次通信是否正确。同样,我们可以使用这个子程序计算从plc中发送的数据的校验码,把它送到上位机中某一特定的地址中,在上位机中比较两个数据是否正确(在上位机的计算异或校验码的vb程序将在后面给出)。
  因为报文的起始字符和结束字符只有8位,接收的报文数据区内出现与起始字符和结束字符相同的字符的几率很大,这就可能会是数据区字符与起始字符或结束字符发生混淆,为了避免这种情况,可以在发送数据前对数据作一下处理,把数据字符转换为bcd码,在s7-200中专门提供了整数与bcd码的转换指令,可以使用语句(ibcd vw200)就把输入的整数转换为bcd码,结果送入了vw200中。上位机接收到后需要将其转换回整数。
  另外,在初始化时要注意自由端口通信协议的设定,一定要使通信过程中的波特率,数据位,奇偶校验及停止位与上位机vb以及通信线上中设定的参数相同,否则将不能实现通信过程,要么接收不到数据,要么会出现“下标越界”的错误。

5 上位机的通信部分采用vb语言编程
  上位机通信接口部分采用vb语言来编写, 在vb中专门有一个控件microsoft comm control(简称mscomm控件)用来提供串行通信。在编程过程中只要设置mscomm控件的属性, 就可以实现串行通信。mscomm控件一般不包括在常用的工具框中, 需要在右边的工具框的空白处点击鼠标右键,选择components选项,就会出现components对话框,在其中的controls标签下就会找到 microsoft comm control6.0,选定它, 点击确定就可以把这一控件加入到右边的工具框中, 图标为。
  用鼠标拖动这个图标到bbbb中,即可设置其属性。在此控件众多的属性当中,需要重新定义的属性只有commport(传输数据的通信端口号)、settings(设置数据传输的波特率、奇偶校验、数据位以及停止位,注意,此参数一定要与plc通信程中设置的参数相一致)、 portopen(设置通信端口的状态)、bbbbbmode(读取接收缓冲区的格式)等。本工程采用事件驱动方式处理接受信息,即把 rthreshold属性设置为非零的值,此时只要接收字符或传输线发生变化就会产生串口事件oncomm。通过查询commevent属性可以捕获这些通信事件。
  在vb中实现异或计算的程序及注释如下:
nbyte(1)=ubound(sdata)+1 ’送数据区字节数
fcs=nbyte(1) ’校验码初始化
for i=2 to ubound(sdata)+2
nbyte(i)=sdata(i - 2) ’待发送数据报文数
组的数据区
fcs=fcs xor nbyte(i) ’异或运算, 求校验码
next
nbyte(i)=fcs ’送校验码
  其中sdata为发送的数据数组的变量名称,for-next语句实现所发送的数据每一位都进行异或运算。这样就可以把发送数据的异或校验码送到plc中,在plc比较两次计算出的校验码是否相同,从而提高通信的可靠性。
  本工程中把计算机向下发送控制命令的部分写成自定义函数send(xi)(i从1到6),在每一个需要发送控制命令的按钮处调用此函数,只是在send中参数设置为不同的控制数。


图1 设备动作状态接收表


  图1为模拟一个油机配电屏控制面,该软件可以对三相输出电压、电流、功率因数这些实时信号进行采集、显示并存储,并对设备的动作状态、故障情况采集到数据库中。该控制面上方有一系列的控制按钮,点击某一按钮就会向下位机发送相应的控制命令,控制下位机动作。
  在通信过程中,由于计算机为主机,而plc为从机,因此,plc只有在接收到计算机发送的信息后,才发送数据。计算机发送数据的次数并不是与其接收数据次数是一一对应的,计算机每点击一次发送控制命令的按钮(请参看图1)后,plc就要向计算机传输存于其缓冲区内的所有数据,而每引发一次 oncomm事件只能传输8个字节,因此假如plc的发送缓冲区中一共右50个数据,那么每要求向上传送一次数据,就会相应的引发7次oncomm事件,而且,每引发一次oncomm事件程序就会一直执行到end sub为止。这一点可以通过在发送数据的程序中加入测试语句 “debug.print‘start’”,在end sub前加一测试语句“debug.print‘end’”来验证,我们可以清楚的在立即窗口中发现每一个start后有7个end。

6 与数据库绑定的控件
  采集数据的终目的不仅要把需要显示的数据(比如:日常量)显示在界面上,另外还要把数据记录到数据库中,以备日后查询。显示数据的过程很容易实现,就是把接收缓冲区的内容按照事先约定好的顺序依次取出即可。要把数据记录到数据库就需要用到数据库绑定控件,在本工程中用到的是adodc控件,这一控件也不包括在常用的工具框中,仍然要依照加mscomm控件的方法把工具条microsoft ado data control6.0(sp4)(oledb)加到工具框中,然后就可以把这一控件拖入bbbb(在本次工作中把adodc控件放在了程序运行时不显示的查询画面中,这样就可以同时完成记录到数据库和查询工作)中,通过设定adodc1的connectionbbbbbb(要求与事先建好的数据库所存储的地址相联接)、 commandtype(由于要向数据库写入数据因此要把它设置为2-adcmdtable)以及recordsource(如果指定的数据库包含多个表,就要选择一个与此adodc1相对应的表)属性(其他属性用默认值即可)就绑定完毕。
  在编程序时,可以通过下面的语句把传递上来的信息整理并写进数据库:
if rcv(5) then
with adodc1
.recordset.addnew
.recordset(“设备名称”)=“断路器1”
.recordset(“动作状态”)=“合”
.recordset(“动作时间”)=now
.recordset.update
end with
end if
  其中“设备名称”“动作状态”“动作时间”是所绑定的数据库的字段名,等号后面的值是满足条件语句时向所绑定的数据库的相应的字段所加的字段值,在本工程中在数组rcv中暂放了从接收缓冲区中接收到的所有数据,而rcv(5)所放置的是是否合断路器1这个动作信息,约定plc送上来的数据中 rcv(5)=1表示合断路器1,因此有上述语句,其他的动作状态记录、故障状态记录及日常量记录与上述程序几乎相同,但是由于日常量不需要每时每刻都要记录到数据库,因此在日常量向数据库写入时用了静态变量count来计时,假如count的值每增加1时间就增加1s,要求每半个小时记录一次,那么就可以用count mod 1800 =0来实现这一时间的控制。

7 结束语
  文中列出了笔者认为plc与计算机通信程序编写过程中需要注意的问题,并给出笔者认为有难度的程序代码,本工程已经成功的通过了测试,已交付使用。


没有

联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:聂航
  • 手机:15221406036
  • 微信:15221406036
  • QQ:3064686604
  • Email:3064686604@qq.com