西门子模块6SL3130-7TE23-6AA3参数详细
(1)对逻辑操作结果rl0的直接操作指令及其说明(见表)
表对逻辑操作结果rlo的直接操作指令及其说明
(2)指令说明
①取反指令not。取反指令将逻辑操作结果rlo的状态取反后存入rlo。在lad和fbd中以触点的形式表示。
②置0指令clr。置0指令将rlo的内容置为0。在lad和fbd中不能使用,只能用在stl中。
③置1指令set。置1指令将rlo的内容置为1。在lad和fbd中不能使用,只能用在stl中。
④保存指令save。保存指令将rlo的内容存放在状态字的br中。在lad中以线圈的形式表示。
⑤a br指令。a br指令是再次检查所存储的rlo。
(3)编程示例(如图所示)
图对rlo的直接操作指令
说明:对于图(a),当i0.0与i0.1均闭合时,则rlo应为“1”,但经not指令后,rlo变为“0”,因此q8.0为“0”(失电)。对于图(b),save指令将当前值态存入br,然后通过检测br位来检查保存的rlo
在刚接触pid时候感觉很头疼,fb41功能块繁多的输入输出以及帮助里面非常专业的解释看得我眼冒金星,头昏眼花,真的是不知道如何入手,后来使用几次以后发现,原来只是填填变量的事(我们的pid就是简单的控制,还没有涉及切换、加泵以及减泵等复杂问题),正好*近有时间,就汇总了一下fb41的端子说明(基本来自大家技术论坛的分享),就当做个笔记吧。
1、fb41的方框图(fb41的端口作用逻辑图,看懂这个基本就都会了)
2、规格化(个人感觉不是必须要规格化,整个fb41功能块统一量纲就行了)
pid参数中重要的3个变量,给定值(sp_int),反馈值(pv_in)和输出值(lmn)都是用0.0~100.0之间的实数表示。
因此,需要将模拟输入转换为0.0~100.0的数据,或将0.0~100.0的数据转换为模拟输出,这个过程称为规格化
规格化的方法:(即变量相对所占整个值域范围内的百分比 对应与27648数字量范围内的量)
对于给定值(sp_int)和反馈值(pv_in),执行:变量*100/27648,然后将结果传送到pv-in和sp-int
对于输出变量 ,执行:lmn*27648/100,然后将结果取整传送给pqw即可。
3、一般使用循环中断组织块调用fb41,一般不用ob1,因为ob1的扫描周期不是确定的。
4、fb41的输入输出参数
in
<1、com_rst:bool,初始化fb41。设置为1时,积分微分的累计清零。不会自动复位,需要程序复位com_rst。一般使用如下:
可以在ob100、ob101、ob102里面写两句话
an “com_rst” //如果初始化标志位是0
s “com_rst” //将初始化标志位置1
在ob1的*后写上两句话,复位初始化标志位
a “com_rst” //如果初始化标志位1
r “com_rst” //将初始化标志位复位
pid的初始化可以通过在ob100中调用一次,将参数com-rst置位,当然也可在别的地方初始化它,关键的是看程序需要;
<2、man_on:bool,设置为0为自动调整;设置为1为手动调整;这里会涉及到一个自动和手动模式的切换问题:无扰动切换
pid调节器在自动→手动、或手动→自动的瞬间,pid的输出是不变化的。
从手动切换到自动,自不用说,但是从自动到手动会出现明显跳动,一般可以这样处理:从自动切换到手动增加一个斜坡处理。将自动时的输出换算成比例值,一直加载在man口上,切换后,通过斜坡,将man口上的值由原来的值过度到手动比例设定值。
此端口和<11处的man口配合使用。
<3、pvper_on:bool,过程值选择,此值与pv_in和pv_per有关系
设置为1时,直接将piw(监测实际值端口)输入pv_per口
设置为0时:将转化后、滤波后且规格化后(等处理过的)数据输出pv_in口
<4、p_sel、i_sel以及d_sel:bool,比例、积分、微分作用的选择,设置为0,相应部分不起作用。
<5、int_hold:bool,积分保持,设置为1时,积分不累加,一般不设置。
<6、i_itl_on:bool,积分初值给定;
i-itlval:real,积分初值。
当i_itl_on设置为1时,使用i-itlval变量积分初值;当i_itl_on设置为0时,积分初始值为0。一般当发现pid功能的积分值增长比较慢或系统反应不够时可以考虑使用积分初值;此功能很少用到。
<7、cycle:time,pid采样周期。
<8、sp_int:real,pid的设定值。
<9、pv_in :real,pid的反馈值。数据类型为real,显然是处理后的数值,见<3。
<10、pv_per:word,pid的反馈值。数据类型为word,显然直接piw输入,见<3。
<11、man:real,手动模式的输入端口。
<12、gain:real,比例增益。
<13、ti:time,积分时间。
<14、td:time,微分时间。
<15、tm_lag:time,多长时间开启微分,由于微分会削弱达到稳定值时间,可以延时启动微分。通常不设置。
<16、deadb_w:real,死区宽度。现场监控达到设定值后,并不稳定到设定值,如果出现小范围浮动,会出现执行器来回动作问题,可以考虑用死区来降低灵敏度。此值为百分数。
<17、lmn_hlm、lmn_llm:real,输出值上下极限。此处需要搭配<19处使用,即保证lmn_hlm*lmn_fac=100,程序中默认lmn_hlm为100.0,lmn_fac为1.0,所以可以不用去设置。如果想设置,需要保证上面的公式。
<18、pv_fac、pv_off:real,pv_fac=的量程/100。只有在pvper_on为1时起作用,目的为统一单位;为零时,需要规格化,单位已经统一,所以此处无用。
<19、lmn_fac、lmn_off:real,输出值的量程。
<20、disv:real,允许的扰动量,串级系统使用,一般不设置;
out
<1、lmn:real,输出实际值占满量程的百分比。
<2、lmn_per:word,pqw输出
<3、qlmn_hlm、qlmn_llm:bool,qlmn_hlm:输出*大值时输出1;qlmn_llm:输出*小值时输出1,可以作为工、变频切换(例如一台泵工频,一台泵要求变频,调节恒压时)的点位来用。
<4、lmn_p、lmn_i、lmn_d:real,pid输出中p、i、d的分量。三者的和为输出值。
<5、pv:real,实际压力值
<6、er:real,偏离值,设定值与实际值之差。
以上部分加入了自己的想法,如有错误望各位大侠批评指导
近十余年随着价格的下降以及功能的不断完善提升,在领域的运用已经越来越普遍。现在特别是学习plc已蔚然成风,今天本人结合自身学习plc(三菱系列)的经验,给广大初学者分享一下,希望对你们的学习入门能带来一定的帮助。
虽说如今国内使用的plc品牌不下几十种,但不外乎欧系和日系两大类。欧系以等品牌为代表,其功能与质量**,但是价格昂贵;而日系因为价格相对便宜在国内被广泛使用和仿制,其中三菱与欧姆龙等为第一梯队,国内的信捷、台达等为第二梯队。由于工作和学习经费问题,本人以三菱fx2n为主攻方向。各位电工朋友可根据自己的条件选择适合自己的plc品牌,由于plc的基本框架大同小异,学会一种至于其它的学习起来也就简单了。在此要指出的是,初学阶段大家不必急于投入太多的资金购买plc实物。
学习伊始理论知识积累是必不可少的。此时一本货真价实的工具书是你的****。工业出版社由李金城老师编写的《三菱fx2n plc基础与功能指令详解》一书非常值得一看,此外中国出版社《plc(三菱系列)控制技术快速入门》一书也是非常不错的资料。当然这两个出版社也发行西门子plc的图书。光看图书难免有些抽象,优酷等视频网站还有大量plc教学视频可供观看学习,结合书籍一起学习进步会更快速的。
其次在学习初始阶段首先要弄清plc的内部结构与选型方法,并牢记plc在实际使用当中的禁忌。随后用心学习理解吸收plc的基本语句和梯形图的编程方法。无论三菱还是西门子亦或国内各品牌plc其官网都提供免费的编程软件,好一些的还有在线仿真软件提供,便于没有plc实物的学习者模拟学习。该阶段我们可以将一些常用的电气线路图如正反转、y/△启动等线路用plc梯形图的方式编写并加以仿真。
现如今的plc在基础指令后又加入了大量功能指令,这些指令功能十分丰富。原本需要繁琐线路完成的功能,现在仅用一个功能指令即可搞定。例如用一只常开按钮轮流控制吸合、释放,若用传统的触点联锁线路来搞则十分复杂,如今里面的alt指令就能轻松搞定。当然这么多的功能指令(fx2n系列plc有近300条功能指令)在学习当中也应区别对待,像hky、segd、segl等已经过时较少使用的指令可省略不学或者略做了解即可。
在功能指令的学习中应特别关注一下pid、cj、call等一些较难理解而又应用广泛指令的学习和掌握。针对这些指令在学习理论知识的同时,还要结合一些成熟的程序范例加以深度的理解和揣摩,在此基础上可以针对一些小型的生产任务加以编程练习,以练促学,边学边练。
如果你已将plc的基础指令、功能指令还有编程方法熟练掌握并能灵活运用,那么恭喜你已经踏入plc的大门,当然这只是一个起点,后面的通讯、pid控制等功能更为复杂的任务还等着你去继续学习那!如果你三心二意出现x08 y19等贻笑大方的典故