7
西门子6ES7361-3CA01-0AA0性能参数
怎样来提高PLC程序运行速度,可以采用以下几种编程方法,仅供参考:
1、根据工程实际需求,进行功能块规划,编写子程序
在PLC中 ,子程序是为一些特定的控制目的编制的相对独立的程序。执行子程序调用指令CALL等,如果条件不满足子程序调用时,程序的扫描就仅在主程序中进行,不再去扫描这段子程序,这样就减少了不必要的扫描时间。
2、用字或双字数据传送给DO点方法来控制输出
在PLC的应用中通常都会有大量的输出控制,用字或双字数据传送给DO点方法来控制输出可以提高速度,只要根据实际应用的要求,合理分配输出,变换控制输出控制字,可以大大减少PLC程序执行的步数,从而加快PLC的程序运行速度。
3、脉冲触发SET、RESET
PLC中,使用SET指令只执行一次即可,不必每次扫描都执行这个指令,很适合与脉冲输出(PLS/PLF)指令配合使用。有些工程人员忽视了这个问题,使用了常规的方法来驱动SET指令,无意中增加了PLC程序扫描运行时间。
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 都是花钱买来的,不用白不用,不用也是浪费了。
同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换。
以上就是提高PLC运行速度的编程方法。
一 选型要点
S7-300 PLC的选型原则是据生产工艺所需的功能和容量进行选型,并考虑维护的方便性、备件的通用性,以及是否易于扩展和有无特殊功能等要求。选型时具体注意以下几方面:
(1)有关参数确定。一是输入/输出点数(I/O点数)确定。这是确定PLC规模的一个重要依据,一定要根据实际情况留出适当余量和扩展余地。二是PLC存储容量确定。注意当系统有模拟量信号存在或要进行大量数据处理时,其存储容量应选大一些。
(2)系统软硬件选择。一是扩展方式选择,S7-300 PLC有多种扩展方式,实际选用时,可通过控制系统接口模块扩展机架、Profibus-DP现场总线、通信模块、运程I/O及PLC子站等多种方式来扩展PLC或预留扩展口;二是PLC的联网,包括PLC与计算机联网和PLC之间相互联网两种方式。因S7-300 PLC的工业通信网络淡化了PLC与DCS的界限,联网的解决方案很多,用户可根据企业的要求选用;三是CPU的选择,CPU的选型是合理配置系统资源的关键,选择时必须根据控制系统对CPU的要求(包括系统集成功能、程序块数量限制、各种位资源、MPI接口能力、是否有
PROFIBUS-DP主从接口、RAM容量、温度范围等),并较好在西门子公司的技术支持下进行,以获得合理的选型;四是编程软件的选择,这主要考虑对CPU的支持状况,我们的体会是:STEP7 V4.0对有些型号的CPU不支持,硬件组态时会发生故障出错,而STEP7V5.0则不存在这种问题。
二 设计及使用
1. 设计注意事项
设计时主要应注意以下几方面:
(1)PLC输出电路中没有保护,因此在外部电路中应设置串联熔断器等保护装置,以防止负载短路造成PLC损坏。熔断器容量一般为0.5A。
(2)PLC存在I/O响应延迟问题,因此在快速响应设备中应加以注意。MPI通信协议虽简单易行,但响应速度较慢。
(3)编制控制程序时,较好用模块式结构程序。这样既可增强程序的可读性,方便调试和维护工作;又能使数据库结构统一,方便WinCC组态时变量标签的统一编制和设备状态的统一显示。
(4)硬件资源。要合理配置硬件资源,以提高系统可靠性。如PLC电源配电系统要配备冗余的UPS不间断电源,以排除停电对全线运行的不利影响。又如对电机的控制回路要进行继电器隔离,以外部负载对I/O模块的可能损坏。另外,系统设备要采用独立的接地系统,以减少杂波干扰。
2. 使用要点
(1)抗干扰措施。来自电源线的杂波,能造成系统电压畸变,导致系统内电气设备的过电压、过负荷、过热甚至烧毁元器件,造成PLC等控制设备误动作。所以,在电源入口处较好应设置屏蔽变压器或电源滤波等防干扰设施。其中,电源滤波器的地要以较短线路接到*保护地。对于直流电源,则可加装微分电容加以干扰抑制。
(2)保护接地。可采取用不小于10mm2的保护导线接好配电板的保护地;相邻的控制柜也应良好接触并与地可靠连接。同时要做好防雷保护接地,通常可采取总线电缆使用屏蔽电缆且屏蔽层两端接地,或模拟信号电缆采取两层屏蔽,外层屏蔽两端接地等措施。另外,为防止感应雷进入系统,可采用浪涌吸收器。
(3)做好信号屏蔽。信号的屏蔽非常关键,一般可采取屏蔽电缆传送模拟信号。注意对多个模拟信号共用一根多芯屏蔽电缆或用两种屏蔽电缆传送时,信号间一定要做好屏蔽。而且电缆的屏蔽层一端(一般在控制柜端)要可靠接地。
(4)当现场没有或无法设置硬点时,可在操作界面上采取软按键的方法解决走向选择或控制方式选择等问题。此外,与变频器、智能仪表等的连接,较好还是采用信号线直接相连的方式。
(5)应合理配置PLC的使用环境,提高系统抗干扰能力。具体采取的措施有:远离高压柜、高频设备、动力屏以及高压线或大电流动力装置;通信电缆和模拟信号电缆尽量不与其他屏(盘)或设备共用电缆沟;PLC柜内不用荧光灯等。另外,PLC虽适合工业现场,但使用中也应尽量避免直接震动和冲击、阳光直射、油雾、雨淋等;不要在有腐蚀性气体、灰尘过多、发热体附近应用;避免导电性杂物进入控制器。
三 调试要点及注意事项
(1)常规检查。在通电之前要耐心细致地作一系列的常规检查(包括接线检查、绝缘检查、接地电阻检查、保险检查等),避免损坏PLC模块(用STEP7的诊断程序对所有模块进行检查)。
(2)系统调试。系统调试可按离线调试与在线调试两阶段进行。其中离线调试主要是对程序的编制工作进行检查和调试,采用STEP7能对用户编制程序进行自动诊断处理,用户也可通过各种逻辑关系判断编制程序的正误。而在线调试是一个综合调试过程,包括程序本身、外围线路、外围设备以及所控设备等的调试。在线调试过程中,系统在监控状态下运行,可随时发现问题、随时解决问题,从而使系统逐步完善。因此,一般系统所存在的问题基本上可在此过程中得到解决。
在线调试设备开停时,必须先调试空开关的运行情况;如果设备设有运行监视开关,则可把监视开关强制为"1"(正式运行时,撤销强制)。调试单台设备时可针对性地建立该设备的变量表,对该设备及其与该设备相关的变量进行实时监视。这样既可判断逻辑操作是否正确,对模拟量的变化也可一目了然。比如调试电动执行器时,可建立一变量表,对执行器的位置信号、限位信号、过力矩信号及输出命令信号等进行实时监视,便可非常直观地观测执行器的动作情况。
(3)S7-300 PLC模拟量模块可通过变换信号类型卡支持各种类型信号。当改造老生产工艺线时,不可避免地会遇到多类信号。因此,设计时较好不把几种信号接到同一模块;同时必须先组态好模块,再接信号线,检查无误后送电。此外,应避免两线制与四线制信号、电流与电压信号的混接,以免烧坏模块。
(4)一般变送器的负载能力为600Ω,而模拟量输入模块的抗阻各不相同(一般在250Ω以下)。如果回路内设安全栏,必须注意抗阻的匹配;模拟量输出模块的负载能力为600Ω,一般
执行器的负载能力为250Ω;如线路较长,也存在抗阻匹配问题。此外,要加强信号的隔离,特别是要加强与支流调速装置、变频调速装置及设备配套的小型PLC之间的信号隔离,防止相互干扰。
四 结束语
S7-300 PLC的应用非常广泛,在设计选型和调试及实际应用中可能会碰到各种各样的问题。本文从实际出发,总结多年实践经验,对以上各方面的问题提出了自己的见解,希望对工程技术人员能有一定的参考价值



PLC冗余可以分为软件冗余和硬件冗余两种。
硬件冗余实现方式下对硬件型号有所要求,连接方式也不同,但对软件并无特殊要求。
总是一个为master,另一个为slave。
slave从master拷贝所有数据备用。
系统监测到master异常时,自动无间隙实现slave的投入。
软件冗余投资不会太大,通过软件设计实现数据的读取、备用,监测到异常时自动切换。
字串5
有些场合,也有人按照冷冗余、暖冗余和热冗余来区分。
字串6
参考SIEMENS 硬件,有两个型号支持冗余:CPU414H 和 CPU417H。
相比之下,后者速度更快、容量更大;但是价格要贵很多哦! 字串7
SIEMENS上述PLC支持同一底板上两个PLC冗余或 不同底板上两个PLC的冗余,通过子卡配合光纤实现。
字串6
系统组态、调试、投入后,我试着手动“stop”正在运行的PLC-master,系统实现了无间隙切换。效果很理想。
在工业系统中,对关键的、危险的或停止(故障)后对人员安全或设备损伤有重大隐患的控制部分经常使用冗余控制器或冗余系统。
按照使用SIEMENS S7 - 400 的经验,使用冗余控制器的系统价格要高于两套独立控制器的价格。
使用性能稳定、切换平稳。



本章对PLC内的高速计数做一个简单的介绍,力求使初学者看之则懂。非专业人士,所以叙述的语言也非专业用语,请勿引用,只是一个家常话的述说。
PLC为什么要设有高速计数器功能呢?这要从PLC的扫描周期来理解。PLC内部的普通计数器的计数方式是PLC在进行输入扫描而得到的信号变化时计一次数。但是PLC在程序执行过程中,是不进行输入扫描的。也就是说,PLC扫描一次输入信号的状态后(专业语言应该是:输入刷新)进入程序执行过程,程序执行过程中输入再有变化,PLC就不会知道了,程序也不会做出影响。这种状态,我们用普通计数器对高速输入脉冲就无能为力了。
如你回家后关上门对家人讲,你在外面看到有一个人醉汉倒在大街上(关门前看到的就是输入扫描)。你想打电话告诉来救他(由于有醉汉在的条件,让你有一个打电话的输出动作),而家人说,你还是再看看醉汉现在的状态再说吧。于是你放下电话(没有输出)开门出去再看一次(由于家人这个中间继电器的参预,你把程序直接跳转到结束,再一次输入扫描),回到家后又关门告诉家人醉汉现在的状况。家人还要坚持让你再出门看一次,你不耐烦了,说“我现在就认为他还躺在那,等我打完电话再出去看吧”(屏蔽中间继电器的参预,继续执行程序),电话打完了(程序执行结束),你又一次打开门出去看,醉汉已经走了。没办法,你还得回来打电话告诉不用来了(又一次程序执行结束)。然后你又出门了,看到醉汉又躺在了老地方,气死你了。于是你就想在门外安装一个视频头接到层里的一个显示器上随时观察醉汉的状态。来控制你是否打电话。(我说话罗嗦吧,谁让我先声明是家常聊天方式呢。)
高速计数器属于硬件计数器,其计数方式与程序的扫描是没有关系的.实时接受外部脉冲信号的变化而计数(当然它的响应也是有一定限制,FX的是 50kHZ).FX系列PLC内置高速计数器按其编号分别分配给X0---X7,X0---X7不可重复使用.下面以分配给输入X0的高速计数器为例写一个简单的程序.
分配给X0的高速计数器有:C235,C241,C244,C246,C247,C249,C251,C252,C254(每个高速计数器计数方式各不相同,这里暂不叙述.看附表自己理解.)如果我们使用C235计数器,其他的计数器就不可以再使用了.
LD M0
OUT C235 K10000
LD C235
OUT Y0
LD M1
RST C235
END
当M0处于断开状态时,C235不得电所以不能开始计数,当M0闭合时高速C235计数器一直是处于得电等待计数状态.说了,C235是分配给X0的高速计数器.那么它就是接收X0的输入脉冲信号,每当X0有一个上升沿到来时,C235就计数一次.当计数到10000时,C235的常开触点闭合使Y0 得电.当M1闭合时C235复位,其常开触点断开.
要注意的是:1、只有C235的当前值由9999变化到10000计数器输出点才动作。人为改变C235的值等于10000,其触点是不动作的。2、高速计数器计数不受扫描周期的影响,但他的触点的闭合状态还得程序扫描到LD C235时Y0才动作。如果想让高速计数器到达计数值立即进行输出处理,得用HSCS指令。