扫一扫,微信关注我们
品牌 | Siemens/西门子 | 应用领域 | 化工,电子,电气 |
---|---|---|---|
产地 | 德国 | 品牌 | 西门子 |
西门子模块6SL3040-0MA00-0AA1
一、项目背景:
鄂尔多斯西汇供水是内蒙古鄂尔多斯集团为硅铁项目提供支持的配套项目公司之一, 鄂尔多斯西汇供水是从黄河岸边引水经过稳压井、沉淀池(辐流池)、澄清池,然后给鄂尔多斯集团电力冶金公司供水,每年可向鄂尔多斯集团电力冶金公司供水10万余吨。
二、解决方案:
根据厂区的特点,本工程采用三套S7-300的PLC,液位、压力、流量、浊度等信号采集包含在ET200M远程从站部分和S7-300主站部分,ET200M在网络上作为Profibus从站与作为主站的S7-300相连,三个分站的WINCC通过MPI和三套S7-300进行数据访问,中央控制室WINCC通过各个分站的CP342-5和各个分站CPU进行数据访问。
包头皮带机项目是远程皮带传输控制系统,PLC控制系统和传动系统全部采用西门子产品来实现其物料传输,PLC控制系统采用西门子S7-300系统,实现对变频驱动系统和故障安全系统进行远程控制,实现现场无人值守,大大降低了运行及维护成本,并与沈阳东华研究所开发的综保仪控制系统成功实现了PROFIBUS与MODBUS协议转换通讯,目前在国内成功实现该方式通讯的,该工程应用尚属。
PLC系统的核心由S7-300构成,除了通过I/O模板采集现场信号来进行监控。主要是实现对西门子6SE71系列变频器的PROFIBUS通讯,来控制变频器并最终控制其传动系统。其次通过与综保仪的数据交换采集沿线报警及连锁信号,真正意义上实现安全的无人值守。
另外,我公司还为皮带机沿线设计了电视监控系统,采用美国INFITO监控系统,在中控室内就可清晰的从各个角度看到沿线工况。
西门子模块6SL3040-0MA00-0AA1
三、填表指令(ATT)
S7-200填表指令(ATT)的使能端(EN)必须使用一个上升沿或下降沿指令(即在下图的I0.1后加一个上升沿或下降沿),若单纯使用一个常开触点,就会出现以下错误:
这一点在编程手册中也没有说明,需要注意。其他的表格指令也同样。
四、数据转换指令
使用数据转换指令时,一定要注意数据的范围,数据范围大的转换为数据范围小的发注意不要超过范围。如下图所示为数据的大小及其范围。
(1)BCD码转化为整数(BCD_I)
关于什么是BCD码,请参看《关于BCD码》。
BCD码转化为整数,我是这样理解的:把BCD码的数值看成为十进制数,然后把BCD到整数的转化看成是十进制数到十六进制数的转化。如下图所示,BCD码为54,转化为整数后为36。
整数转化为BCD码(I_BCD)则正好相反,看成是十六进制到十进制的转化。
(2)整数转化为双整数(I_DI)
此问题需要注意的是:整数转化为双整数后,符号位被扩展,因为整数的精度小于双整数的精度,转化后,双整数除了表示整数的数值所占的位外,其余空位用符号位填充。如整数45转化为双整数后,基二进制表示为:2#0000_0000_0000_0000_0000_0000_0010_1101,而整数-45转化为双整数后则为:2#1111_1111_1111_1111_1111_1111_1101_0011。
五、不要重复使用PLC输出线圈
基本逻辑指令中常开接点和常闭接点,作为使能的条件,在语法上和实际编程中都可以无限次的重复使用。
PLC输出线圈,作为驱动元件,在语法上是可以无限次的使用。但在实际编程中是不应该的,应该避免使用的。因为,在重复使用的输出线圈中只有程序中后一个是有效的,其它都是无效的。输出线圈具有后优先权。
如图1和2所示。
图1:输出线路未重复使用 图2:输出线路未重复使用
1所示,输出线圈Q0.0是单一使用,表示I0.0和I0.1两个常开接点中任何一个闭合,输出线圈都得电输出。
图2所示,输出线圈Q0.0是重复使用,在网络1和网络2中重复使用两次,目的和图1所示一样,要求I0.0和I0.1两个常开接点中任何一个闭合,输出线圈得电输出。
首先需要肯定是图2所示的程序在语法上是正确的。但是,Q0.0重复使用的输出线圈中,真正有效的是网络2,网络1是多余的、无效的。也就是说,I0.0无论是闭合还是断开,都对Q0.0不起作用,Q0.0是否得电是由I0.1决定的。
这是因为PLC在一个扫描周期中,PLC输出点的刷新是在程序执行完毕后执行的,在一个扫描周期中,即使I0.0闭
合I0.1断开,在PLC程序执行网络1时,输出点Q0.0映像存储器为1,在执行网络2时,输出点Q0.0映像存储器又变为0。程序执行完毕,PLC输出点才执行刷新,终输出点Q0.0失电不输出。同理,在一个扫描周期中,I0.0断开,I0.1闭合,输出点Q0.0映像存储器终为1,在PLC输出点执行刷新时,输出点得电输出。因此,图2所示的程序中,对Q0.0起作用的只是I0.1。
因此,在PLC编程时,重复使用数出线圈。尽管在语法上是正确的,但是应该避免使用的。
几种置位、复位的方法和比较
位置位、复位操作方法上,有好几种方法,可以直接采用置位、复位指令,也可以采用数据传送指令、表格填充指令,甚至可以采用移位循环指令。
这几种方法在具体运用时,也要根据情况而定。下面用一个范例来讲解他们的不同之处。要求对Q0.0~0.7、Q1.0~1.7十六位输出进行置位、复位。
图几种置位、复位的方法
在以上几种方法中,除移位循环指令外,其他指令比较好理解。
移位循环指令的方法,置位是对16F十六位常数左循环16位,送入输出字QW0(由Q0.0~0.7、Q1.0~1.7组成),无论16F如何循环,还是16F,16位输出。复位采用对QW0一次扫描周期一次执行16位左移位指令,将QW0中的数据全部移出(如果是带符号位的字,连符号位也移出),输出复位。
在上面的方法中,直接采用置位、复位的方法不仅可以对字节、字、双字中的位进行置位、复位操作,也可以对不成字节、字、双字的位进行操作。而数据传送指令、移位循环指令、填充指令只能对字节、字、双字中的位进行置位、复位操作,其中填充指令还只能对字操作。
比如单单对Q0.0~0.6七个位输出进行置位、复位,采用数据传送指令、移位循环指令、填充指令是很难实现的,此时只有采用直接置位、复位指令的方法