7
西门子中国一级代理商电源供应商采购在解答S7-200运动控制模块EM253寻找参考点的问题时,常常发现客户很容易混淆一些名词和概念,进而给大家的功能实现带来困扰。比如说:“RP”、“RPS”、“参考点”、“参考点寻找过程”、“RP偏移量”、“ZP”、“零脉冲”等名词。这些词看上去很相似,但有时它表示的含义是有差别的。
今天我们就聊聊这些名词的含义和区别,并用几个例子介绍一下运动控制中寻找参考点的过程。
一.名词概念解释
RPS——参考点信号,是从外接开关传感器(接近开关或者行程开关)传过来的信号。
RP(Reference point )——参考点,用于定义位置坐标。这个参考点是通过RPS确定的,本身并没有实质性的硬件设备。
RP偏移量(RP_OFFSET)——是指从RP到零点的距离。
ZP——零脉冲信号,是电机编码器每转一圈所产生的信号。
有时,大家会把ZP和RP搞混。大家在某些情况下能看到“零点”这个词,我们会误认为“零点”就是ZP。“零点”顾名思义,就是位置为0的点,当RP的坐标为0(即RP_OFFSET=0)时,RP与零点是同一个点;当RP的坐标不为0时,他们就是两个不同的点,参考点不一定坐标为0。而ZP是由编码器产生的一个信号,显然和“零点”是稍有差异的。
二.寻参步骤和过程
设置EM253寻找参考点功能是利用运动控制向导来实现的。基本分为两步:
步:设置参考点寻找速度(快速寻找速度和慢速寻找速度),初始寻找方向和终接近参考点方向。
(注:在参考点选项中可以设置RP偏移量)
二步:组态寻找参考点的顺序。也就是手册中提到寻参模式。
下面利用两个示例,帮助我们深入学习和理解以上的这些名词概念。同时,大家也可以利用《S7-200系统手册》九章中RP寻参模式的示意图进一步了解相关知识。
示例1:
向导中设置初始寻找方向为正向,终接近方向为正向。选择模式1。如果起点在如图(1)位置,执行POS_RSEEK指令后,按照高速正向寻找,当到RPS信号上升沿后,由高速降低到低速继续寻参,当RPS信号失效即检测到RPS下降沿时,则以当前点作为参考点,即终点。
在程序初始化时将VW0清零(如果是不需要记忆的变量,直接将dVarName清零也可)或者在数据块中将VW0设置为零。
则以后需要以字类型访问变量时就用wVarName,需要以双字类型访问变量时就用dVarName。不需要类型转换。
本方法可以大的减少程序语句数,使程序简洁、可读性好,由于不需要做耗时的类型转换,程序运行效率也得到提高。且数学运算量越大,效率提高越明显。
缺点是要多占用两字节的内存,以后程序中不能使用VW0。但S7-200的RAM空间很大,一般是用不完的,以226为例,有多达10K的RAM,偶从来没有过1K。这些RAM都是花钱买来的,不用白不用,不用也是浪费了。
同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换。
关于3点"使用SET指令只执行一次即可,不必每次扫描都执行这个指令,有些工程人员忽视了这个问题,使用了常规的方法来驱动SET指令,无意中增加了PLC程序扫描运行时间"不是很理解,能不能说得细一点。
1:如果在ob里编写子程序段,是扫描的,但是如果您编写为FC调用,那么在FC的调用条件没有满足时,FC中的程序暂时不执行。这也是我所说节省时间的意思。
2:PLC的执行步数根据程序长短会不同,扫描时间会根据执行步数的不同而不同,如果用一个mov指令完成8个数字量输出的控制,当然比用8个mov指令完成8个数字量输出的控制所需要的程序步数少。
4:避免了类型转换,方法如下:
以S7-200为例,它的内存格式与我们常用的PC机正好相反,它是高字在前,低字在后的。所以我们可以将字变量放在后两个字节,在程序初始化时将前两个字节清零(程序的其它地方不得使用这两个字节)。
如我们定义符号时将字变量定义在VW2,同时保持VW0的值为零。则程序中可以用VW2以字型访问该变量,同时也可以VD0以双字型访问,避免了类型转换。
为了避免使用时混淆,以明确的符号定义来区分字类型和双字类型。在此强烈类匈牙利命名法:以前缀指示变量类型,用字母大写的有意义的英文单词的组合作变量名。本人习惯用以下缀:b----字节型变量(byte)
w----字型变量(word)
d----双字变量(double)
r----实型变量(real)
f----位变量(flag)
btn---自复位按钮式输入(button)
sw----切换开关或自锁按钮输入(switch)
sig---传感器、编码等电平信号输入(**)
rly---输出继电器位(relay)
……
当然,这个根据个人习惯来,没有定则,主要是利于自己区分。
如有一个字类型变量名为VarName,为使用的转换技巧,我们可以这样定义:
wVarName----VW2
dVarName----VD0
在程序初始化时将VW0清零(如果是不需要记忆的变量,直接将dVarName清零也可)或者在数据块中将VW0设置为零。则以后需要以字类型访问变量时就用wVarName,需要以双字类型访问变量时就用dVarName。不需要类型转换。
本方法可以大的减少程序语句数,使程序简洁、可读性好,由于不需要做耗时的类型转换,程序运行效率也得到提高。且数学运算量越大,效率提高越明显。
缺点是要多占用两字节的内存,以后程序中不能使用VW0。但S7-200的RAM空间很大,一般是用不完的,以226为例,有多达10K的RAM,偶从来没有过1K。这些RAM都是花钱买来的,不用白不用,不用也是浪费了。
同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换。
1、NPN类
NPN是指当有信号触发时,信号输出线out和电源线VCC连接,相当于输出高电平的电源线。
对于NPN-NO型,在没有信号触发时,输出线是悬空的,就是VCC电源线和out线断开。有信号触发时,发出与VCC电源线相同的电压,也就是out线和电源线VCC连接,输出高电平VCC。
对于NPN-NC型,在没有信号触发时,发出与VCC电源线相同的电压,也就是out线和电源线VCC连接,输出高电平VCC。当有信号触发后,输出线是悬空的,就是VCC电源线和out线断开。
对于NPN-NC+NO型,其实就是多出一个输出线OUT,根据需要取舍。
2、PNP类
PNP是指当有信号触发时,信号输出线out和0v线连接,相当于输出低电平,ov。
对于PNP-NO型,在没有信号触发时,输出线是悬空的,就是0v线和out线断开。有信号触发时,发出与OV相同的电压,也就是out线和0V线连接,输出输出低电平OV。
对于PNP-NC型,在没有信号触发时,发出与0V线相同的电压,也就是out线和0V线连接,输出低电平0V。当有信号触发后,输出线是悬空的,就是0V线和out线断开。
对于PNP-NC+NO型,和NPN-NC+NO型类似,多出一个输出线OUT,及两条信号反相的输出线,根据需要取舍。
我们一般常用的是NPN型,即高电平有效状态。PNP很少使用。
找到接近开关的电源端和输出端。如果是两线制,则应该有+VDC端、输出端)或者“-”端!对于源型输入的PLC例如、西门子等(看看你是采用何种PLC)你可以将PLC自带的+24V传感器电源联接于+VDC端!接近开关的输出端就可以联接于PLC的输入端!对于源型输入的PLC,一旦接近开关动作,PLC输入端就会得到略小于PLC传感器电源的直流电压,从而使PLC开关量输入有效!对于三菱等PLC,由于它接收漏输入,故接近开关电源端应联接于输入端(例如X10),而输出(或者是“-”端应联接与电源地端,一旦接近开关动作,接近开关输出变低(或者接近地电位),就使得PLC输入有效!
三线式的接近开关联接传感器的正电源和地端!
传感器电源与接近开关的电源属同一电源或者应该有电流形成回路才能工作!三菱则不必区别,因为它的开关量输入已经自带电源了!
需要注意:有些接近开关虽然为两线式,但有三根线,其中有一根是屏蔽线,应区别开来!
总结:对于PLC的开关量输入回路。我个人感觉日本三菱的要好得多,甚至比西门子等赫赫大名的PLC都要实用和!其主要原因是三菱等日本PLC从欧美那儿学来技术并优化设计,作到:
1、采用漏输入,输入端本来就设计为对地短路就引发开入有效!不会对电源系统构成危害,也不会由于电源故障影响其他输入回路的正常工作!
2、采用源输入,是共电源输入端。在工程实际应用中往往有太多的电缆,你可能无法保证电缆的相互接触、破损,说不定共电源的开关量线路会无意接触到设备地、外壳、其他地电位。因此可能断路电源供应回路。造成电源损坏或者烧掉保险,从而可能影响其他输入回路的正常工作。除非,每个输入回路加保险……应用成本较高也容易出现其他故障。
PLC梯形图编程语言是从继电器接点控制线路图上发展起来的一种编程语言,两者的结构非常类似,但其程序执行过程存在本质的区别。因此,同样作为继电器接点控制系统与梯形图的基本组成3要素——触点、线圈、连线,两者有着本质的不同。
1.触点的性质与特点
梯形图中所使用的输入、输出、内部继电器等编程元件的“常开”、“常闭”触点,其本质是PLC内部某一存储器的数据“位”状态。程序中的“常开”触点是直接使用该位的状态进行逻辑运算处理;“常闭”触点是使用该位的“逻辑非”状态进行处理。它与继电器控制电路的区别在于:
①梯形图中的触点可以在程序中无限次使用,它不像物理继电器那样,受到实际安装触点数量的限制。
②在任何时刻,梯形图中的“常开”、“常闭”触点的状态是的,不可能出现两者同时为“l”的情况,“常开”、“常闭”触点存在严格的“非”关系。
2.线圈的性质与特点
梯形图编程所使用的内部继电器、输出等编程元件,虽然采用了与继电器控制线路同样的“线圈”这一名称,但它们并非实际存在的物理继电器。程序对以上线圈的输出控制,只是将PLC内部某一存储器的数据“位”的状态进行赋值而已。数据“位”置“1”对应于线圈的“得电”;数据“位”置“0”对应于“断电”。因此,它与继电器控制电路的区别在于:
①如果需要,梯形图中的“输出线圈”可以在程序中进行多次赋值,即在梯形图中可以使用所谓的“重复线圈”。
②PLC程序的执行,严格按照梯形图“从上至下”、“从左至右”的时序执行,在同一PLC程序执行循环内,不能改变已经执行完成的指令输出状态(已经执行完成的指令输出状态,只能在下一循环中予以改变)。有效利用PLC的这一程序执行特点,可以设计出许多区别于继电器控制线路的特殊逻辑,如“边沿”处理信号等。
3.连线的性质与特点
梯形图中的“连线”仅代表指令在PLC中的处理顺序关系(“从上至下”、“从左至右”),它不像继电器控制线路那样存在实际电流,因此,在梯形图中的每一输出线圈应有各自立的逻辑控制“电路”(即明确的逻辑控制关系),不同输出线圈间不能采用继电器控制线路中经常使用的“电桥型连接”方式,试图通过后面的执行条件,改变已经执行完成的指令输出
1、西门子S7-300plc主要看是什么型号的CPU。不同的CPU扩展的能力也不同
2、譬如你的CPU是CPU 315-2 PN/DP的特性:带大的I/O能力为数字式输入16384个,数字式输出16384个,模拟量通道1024个输入,1024个输出。都是包括分布式i/o口,所有的总和之数。大扩展机架数量为4个,这包括了0号机架。一个上面多为8个模块,只要你的I/O点数在范围之内。
3、连0号机架,一共5个,带20个模块,是不可以的。
关键是:扩展机多机架用的型号是IM361,主机架3号槽用的是IM360,才能实现一共4个扩展。
你所说的IM153是ET200M中的通讯接口模块,他后面可以连接8个S7300的IO模块,所以说ET200是指系列,而IM153是ET200中的通讯模块
ET-200M是SIEMENS的S7-PLC的分布式I/O,即是一个远程I/O站,它可以通用S7-300的各种模块。它主要特点就是将远程的I/O (包括模拟量)通过通讯线传给主机,这样节省了大量的信号电缆,使得结构清晰,便于维护。
ET200M接口6ES7 153-1AA03-0XB0 与 6ES7 153-2BA02-0XB0都是模块化的远程I/O,可以组态机架,并配置标准的I/O模板,后者是前者的升级版,向下兼容,因此6ES7 153-2BA02-0XB可以替代6ES7 153-1AA03-0XB0
6ES7 153-1AA03-0XB0 与 6ES7 153-2BA02-0XB0在结构上是一样的,因此与PROFIBUS连接器连接的接口也是一样的,同一连接器两种型号的模块都能插入,的区别是后者可以插入多的标准的I/O模块。
1. PID控制
在工业控制中,PID控制(比例-积分-微分控制)得到了广泛的应用,这是因为PID控制具有以下优点:
1)不需要知道被控对象的数学模型。实际上大多数工业对象准确的数学模型是无法获得的,对于这一类系统,使用PID控制可以得到比较满意的效果。据日本统计,目前PID及变型PID 约占总控制回路数的左右。
2)PID控制器具有典型的结构,程序设计简单,参数调整方便。
3)有较强的灵活性和适应性,根据被控对象的具体情况,可以采用各种PID控制的变种和改进的控制方式,如 PI、PD、带死区的PID、积分分离式PID、变速积分PID等。随着智能控制技术的发展,PID控制与模糊控制、神经网络控制等现代控制方法相结合,可以实现PID控制器的参数自整定,使PID控制器具有经久的生命力。
2. PLC实现PID控制的方法
如图6-35所示为采用PLC对模拟量实行PID控制的系统结构框图。用PLC对模拟量进行PID控制时,可以采用以下几种方法:
图6-35 用PLC实现模拟量PID控制的系统结构框图
1)使用PID过程控制模块。这种模块的PID控制程序是PLC生产厂家设计的,并存放在模块中,用户在使用时只需要设置一些参数,使用起来非常方便,一块模块可以控制几路甚至几十路闭环回路。但是这种模块的价格昂贵,一般在大型控制系统中使用。如三菱的A系列、Q系列PLC的PID控制模块。
2)使用PID功能指令。现在很多中小型 PLC都提供PID控制用的功能指令,如FX2N系列PLC的PID指令。它们实际上是用于PID控制的子程序,与A/D、D/A模块一起使用,可以得到类似于使用PID过程控制模块的效果,价格却得多。
3)使用自编程序实现PID闭环控制。有的PLC没有有PID过程控制模块和 PID控制指令,有时虽然有PID控制指令,但用户希望采用变型PID控制算法。在这些情况下,都需要由用户自己编制PID控制程序。
3. FX2N的PID指令
PID指令的编号为FNC88,如图6-36所示源操作数[S1]、[S2]、[S3]和目标操作数[D]均为数据寄存器D,16位指令,占9个程序步。[S1]和[S2]分别用来存放给定值SV和当前测量到的反馈值PV,[S3]~[S3]+6用来存放控制参数的值,运算结果MV存放在[D]中。源操作数[S3]占用从[S3]开始的25个数据寄存器。
以上公式中:△MV是本次和上一次采样时PID输出量的差值,MVn是本次的PID输出量;EVn和 EVn-1分别是本次和上一次采样时的误差,SV为设定值;PVn是本次采样的反馈值,PVnf、PVnf-1和PVnf-2分别是本次、次和前两次滤波后的反馈值,L是惯性数字滤波的系数;Dn和Dn-l分别是本次和上一次采样时的微分部分;K p是比例增益,T S是采样周期,T I和T D分别是积分时间和微分时间,αD是不微分的滤波时间常数与微分时间TD的比值。
4.PID参数的整定
PID控制器有4个主要的参数K p、T I、T D和T S需整定,无论哪一个参数选择得不合适都会影响控制效果。在整定参数时应把握住PID参数与系统动态、静态性能之间的关系。
在P(比例)、I(积分)、D(微分)这三种控制作用中,比例部分与误差信号在时间上是一致的,只要误差一出现,比例部分就能及时地产生与误差成正比的调节作用,具有调节及时的特点。比例系数K p越大,比例调节作用越强,系统的稳态精度越高;但是对于大多数系统,K p过大会使系统的输出量振荡加剧,稳定性降低。
积分作用与当前误差的大小和误差的历史情况都,只要误差不为零,控制器的输出就会因积分作用而不断变化,一直要到误差消失,系统处于稳定状态时,积分部分才不再变化。因此,积分部分可以稳态误差,提高控制精度,但是积分作用的动作缓慢,可能给系统的动态稳定性带来不良影响。积分时间常数T I增大时,积分作用减弱,系统的动态性能(稳定性)可能有所改善,但是稳态误差的速度减慢。
微分部分是根据误差变化的速度,提前给出较大的调节作用。微分部分反映了系统变化的趋势,它较比例调节为及时,所以微分部分具有前和预测的特点。微分时间常数T D增大时,调量减小,动态性能得到改善,但是抑制高频干扰的能力下降。
选取采样周期T S时,应使它远远小于系统阶跃响应的纯滞后时间或上升时间。为使采样值能及时反映模拟量的变化,T S越小越好。但是T S太小会增加CPU的运算工作量,相邻两次采样的差值几乎没有什么变化,所以也不宜将T S过小。
从讨论PLC的工作原理知,PLC的输入与输出在物理上是彼此隔开的,其间的联系是靠运行存储于它的内存中的程序实现。它的入出相关,不是靠物理过程,不是用线路;而是靠信息过程,用软逻辑联系。它的工作基础是用好信息。信息不同于物质与能量,有自身的规律。信息便于处理,便于传递,便于存储;信息还可重用,等等。正是由于信息的这些特点,决定了PLC的基本特点。