在实际应用过程中,某些时候可能会采用VB/DELPHI/VC等**语言,自主编程与西门子plc进行通讯,这类帖子、论文在网上都可以找到,在此总结一下。浔之漫智控技术有限公司 长期低价销售西门子PLC,200,300,400,1200,西门子PLC附件,西门子电机,西门子人机界面,西门子变频器,西门子数控伺服,西门子总线电缆现货供应,欢迎来电咨询系列产品,折扣低,货期准时,并且备有大量库存.长期有效
1、Prodave通讯
Prodave是西门子提供的一个软件包,为**语言编程和plc通讯提供接口。
通讯接口:MPI
因为MPI口是每块cpu的编程口,所以plc不需要另外添加通讯模块,这个方案就比较经济,而且prodave软件包里面附带了example和详细的说明,用起来应该比较简单和方便(本人只匆匆看过文档,没有实验过)。这方面的资料在百度上很多。当然,mpi的速度是有限的,如果采用普通的pc adapter连接pc和plc,高速度也就38.4kbps,我不知道prodave能否支持mpi卡(5611之类的话),如果可以的话速度可以达到187.5kbps。
2、串行通讯
看到过一些论文,采用串行通讯的方法实现pc和plc通讯。这种情况存在几点要求:
a、需要为plc添加一块串行通讯模块,比如300的话就需要cp340或者cp341(前者便宜些);
b、plc里面需要对串行通讯进行编程,其实也就是接收报文和发送报文,调用fb2/fb3(cp340的话)。
c、串行通讯的速度是有目共睹的,而且cp340或者cp341的数据吞吐量也是有限的,即报文长度是有限制的,因此个人认为通讯数据量大的话采用串行通讯就不合适了。
d、报文格式的话就比较自由,但是也应当合理,我虽然没有具体实验过,但是个人认为可以参考modbus的报文结构来编程,甚至就采用modbus的规范,不过这样的话要求编程者对pc和plc侧的modbus编程都要熟悉。
3、opc
Opc是这些年来很流行的东西,其实我很讨厌opc的安全认证的设定。不过采用opc编程来访问plc真的是一件非常轻松惬意的事情。你需要做的就是了解opc的结构和编程,尤其是采用vb来编写opc简直是件傻瓜化的工作当然也牺牲了很多。
我实验了用vb通过opc(以太网)来访问300,包括用西门子的simaticnet提供的opc接口和三方的kepserver。
采用opc接口编程的优点:通讯速度快,编程简单。
4、以太网编程
采用以太网编程访问plc,其实又可以分为两种:
一种是socket接口,需要在plc里面编程进行收/发,大概是fc5/fc6吧,印象不深了,当然plc里面要定义一个connection,填好地址、端口号之类的信息,这个对于熟悉西门子工业通讯的人是很easy的事情。Pc侧采用socket接口编程,简单的就是vb里面的wisock控件,当然这了很多细节。Socket编程本来就是一门艺术,讲究说学逗唱:)
这个方法的优点应该是pc侧编程稍微简单点(相对于后一种),而且可以不局限于windows平台,因为socket接口被诸如unix支持的好。二种是采用西门子的sapi接口函数,这样plc里面不需要过多的编程了,当然pc侧的编程难度就比较高了,ms只能用c来写,所以我望而却步鸟。看过相关帖子和论文,有高人在项目里面就这么干的,而且数据量很大,看来高人很多很多啊,向他们致敬!关于sapi的资料其实都在simaticnet软件里面,有兴趣的可以去找来看看。
西门子S7-300plc里的程序的扫描周期如果是150ms,那么是不是就意味着无法取到一系列稳定的周期小于150ms的时钟计时器呢,因为一个周期需要长于时钟的计时时间。
答:定时器有专门的存储区,定时器的计时与系统的扫描周期无关。这就是说,一个定时器使能以后,除非使能信号改变或者是其他相关信号变化,否则定时器按照自己的规则继续运行!运行完成后,输出相应状态,该状态不因扫描周期变化而变化,只取决于自身的条件。在使用中,尤其是一些使用STL编程的朋友有时会遇到定时器不听话的现象,其实是与我们的扫描有关的。建议涉及到定时器使能和使用的程序不要跳转,而是要每周期扫描。因为PLC中所谓状态,其实是由RLO来决定的,而这个东西有时是靠**周期和后一周期的区别来决定的。
顺序功能图,亦称功能流程图或状态转移图,是一种图形化的功能性说明语言,**于描述工业顺序控制程序,也是IEC61131-3的标准编程语言。使用它可以对具有并发、选择等复杂结构的系统进行编程,一些高档的PLC提供了用于SFC编程的指令,但一些低档的PLC并不支持SFC编程语言。顺序功能图示例如图1所示。
顺序功能图主要由“状态”和“转移”等基本元素组成。通过这些基本元素的不同组合,可以表达各种各样的复杂顺序控制逻辑,控制规律的表达简洁明了。
状态有时也称步,是系统一个相对稳定的阶段,在这阶段内系统的参量保持不变。系统的参量一旦发生变化,则认为系统转移到了一个新的状态。状态包括初始状态和工作状态,一个系统至少要有一个初始状态,初始状态用双线矩形框表示,工作状态用矩形框表示,工作状态一般都有相对应的动作。每个状态都有一个编号,通常用PLC内部的状态元件来保存状态。
当系统的参量发生变化到了一个新的状态,则认为系统状态发生了转移。转移由连接两个状态之间的有向线段和垂直于此线段的短横线段组成,短横线段表示发生转移的条件。
选用PLC时用户需要考虑以下因素:
1.用户存储器容量
PLC中用户存储器一般由用户程序存储器和数据存储器组成,小型PLC的用户存储器容量多为几K字节,而大型PLC可达到几M字节。
2.输入输出点数
输入输出的点数决定了PLC可控制的输入开关信号和输出开关信号的总体数量。
3.扫描速度
扫描速度通常指PLC扫描1 K字节用户程序所需的时间,一般以ms/K为单位。
4.编程指令的种类和功能
某种程度上用户程序所完成的控制功能受限于PLC指令的种类和功能。PLC指令的种类和功能越多,用户编程则越方便简单。
5.内部寄存器的配置和容量
用户编制PLC程序时,需要大量使用PLC内部的寄存器存放变量、中间结果、定时计数及各种标志位等数据信息。因此内部寄存器的数量直接关系到用户程序的编制。
6.PLC的扩展能力
在进行PLC选型时,其扩展性是一个非常重要的因素。一般来说可扩展性包括存储容量的扩展、输入输出点数的扩展、模块的扩展、通信联网功能的扩展等。
1引言
可编程控制器(PLC)是一种新型的通用自动化控制装置,它将传统的继电器控制技术、计算机技术和通讯技术融为一体,具有控制功能强,可*性高,使用灵活方便,易于扩展等优点而应用越来越广泛。但在使用时由于工业生产现场的工作环境恶劣,干扰源众多,如大功率用电设备的起动或停止引起电网电压的波动形成低频干扰,电焊机、电火花加工机床、电机的电刷等通过电磁耦合产生的工频干扰等,都会影响PLC的正常工作。
尽管PLC是专门在现场使用的控制装置,在设计制造时已采取了很多措施,使它对工业环境比较适应,但是为了确保整个系统稳定可靠,还是应当尽量使PLC有良好的工作环境条件, 并采取必要的抗干扰措施。
2 PLC在安装和维护时应注意的问题
2.1 PLC的安装
PLC适用于大多数工业现场,但它对使用场合、环境温度等还是有一定要求。控制PLC的工作环境,可以有效地提高它的工作效率和寿命。在安装PLC时,要避开下列场所:
(1)环境温度过0 ~ 50℃的范围;
(2)相对湿度过85%或者存在露水凝聚(由温度突变或其他因素所引起的);
(3)太阳光直接照射;
(4)有腐蚀和易燃的气体,例如、硫化氢等;
(5)有打量铁屑及灰尘;
(6)频繁或连续的振动,振动频率为10 ~ 55Hz、幅度为0.5mm(峰-峰);
(7)过10g(重力加速度)的冲击。
小型可编程控制器外壳的4个角上,均有安装孔。有两种安装方法,一是用螺钉固定,不同的单元有不同的安装尺寸;另一种是DIN(德国共和标准)轨道固定。DIN轨道配套使用的安装夹板,左右各一对。在轨道上,先装好左右夹板,装上PLC,然后拧紧螺钉。为了使控制系统工作可*,通常把可编程控制器安装在有保护外壳的控制柜中,以防止灰尘、油污、水溅。为了保证可编程控制器在工作状态下其温度保持在规定环境温度范围内,安装机器应有足够的通风空间,基本单元和扩展单元之间要有30mm以上间隔。如果周围环境过55C,要安装电风扇,强迫通风。
为了避免其他外围设备的电干扰,可编程控制器应尽可能远离高压电源线和高压设备,可编程控制器与高压设备和电源线之间应留出至少200mm的距离。
当可编程控制器垂直安装时,要严防导线头、铁屑等从通风窗掉入可编程控制器内部,造成印刷电路板短路,使其不能正常工作甚至*损坏。
2.2 电源接线
PLC供电电源为50Hz、220V±10%的交流电。
FX系列可编程控制器有直流24V输出接线端。该接线端可为输入传感(如光电开关或接近开关)提供直流24V电源。
如果电源发生故障,中断时间少于10ms,PLC工作不受影响。若电源中断过10ms或电源下降过允许值,则PLC停止工作,所有的输出点均同时断开。当电源恢复时,若RUN输入接通,则操作自动进行。
对于电源线来的干扰,PLC本身具有足够的抵制能力。如果电源干扰特别严重,可以安装一个变比为1:1的隔离变压器,以减少设备与地之间的干扰。
2.3 接地
良好的接地是保证PLC可*工作的重要条件,可以避免偶然发生的电压冲击危害。接地线与机器的接地端相接,基本单元接地。如果要用扩展单元,其接地点应与基本单元的接地点接在一起。为了抑制加在电源及输入端、输出端的干扰,应给可编程控制器接上**地线,接地点应与动力设备(如电机)的接地点分开。若达不到这种要求,也必须做到与其他设备公共接地,禁止与其他设备串联接地。接地点应尽可能*近PLC。
2.4 直流24V接线端
使用无源触点的输入器件时,PLC内部24V电源通过输入器件向输入端提供每点7mA的电流。
PLC上的24V接线端子,还可以向外部传感器(如接近开关或光电开关)提供电流。24V端子作传感器电源时,COM端子是直流24V地端。如果采用扩展船员,则应将基本单元和扩展单元的24V端连接起来。另外,任何外部电源不能接到这个端子。
如果发生过载现象,电压将自动跌落,该点输入对可编程控制器不起作用。
每种型号的PLC的输入点数量是有规定的。对每一个尚未使用的输入点,它不耗电,因此在这种情况下,24V电源端子向外供电流的能力可以增加。
FX系列PLC的空位端子,在任何情况下都不能使用。
2.5 输入接线
PLC一般接受行程开关、限位开关等输入的开关量信号。输入接线端子是PLC与外部传感器负载转换信号的端口。输入接线,一般指外部传感器与输入端口的接线。
输入器件可以是任何无源的触点或集电开路的NPN管。输入器件接通时,输入端接通,输入线路闭合,同时输入指示的发光二管亮。
输入端的一次电路与二次电路之间,采用光电耦合隔离。二次电路带RC滤波器,以防止由于输入触点抖动或从输入线路串入的电噪声引起PLC误动作。
若在输入触点电路串联二管,在串联二管上的电压应小于4V。若使用带发光二管的舌簧开关,串联二管的数目不能过两只。
另外,输入接线还应特别注意以下几点:
(1)输入接线一般不要过30m。但如果环境干扰较小,电压降不大时,输入接线可适当长些。
(2)输入、输出线不能用同一根电缆,输入、输出线要分开。
(3)可编程控制器所能接受的脉冲信号的宽度,应大于扫描周期的时间。
6ES72111BE400XB0 CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI 6ES72111AE400XB0 CPU 1211C DC/DC/DC,6输入/4输出,集成2AI 6ES72111HE400XB0 CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI 6ES72121BE400XB0 CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI 6ES72121AE400XB0 CPU 1212C DC/DC/DC,8输入/6输出,集成2AI 6ES72121HE400XB0 CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI 6ES72141BG400XB0 CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI 6ES72141AG400XB0 CPU 1214C DC/DC/DC,14输入/10输出,集成2AI 6ES72141HG400XB0 CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI 6ES72151BG400XB0 CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO 6ES72151AG400XB0 CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO 6ES72151HG400XB0 CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO 6ES72171AG400XB0 CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO