湘西西门子专业授权代理商
较初研制生产的PLC 主要用于代替传统的由继电器接触器构成的控制装置,但这两者的运行方式是不相同的:
继电器控制装置采用硬逻辑并行运行的方式,即如果这个继电器的线圈通电或断电,该继电器所有的触点(包括其常开或常闭触点)在继电器控制线路的哪个位置上都会立即同时动作。
PLC 的CPU 则采用顺序逻辑扫描用户程序的运行方式,即如果一个输出线圈或逻辑线圈被接通或断开,该线圈的所有触点(包括其常开或常闭触点)不会立即动作,必须等扫描到该触点时才会动作。
为了二者之间由于运行方式不同而造成的差异,考虑到继电器控制装置各类触点的动作时间一般在100ms 以上,而PLC 扫描用户程序的时间一般均小于100ms,因此,PLC采用了一种不同于一般微型计算机的运行方式—扫描技术。这样在对于I/O 响应要求不高的场合,PLC 与继电器控制装置的处理结果上就没有什么区别了。
1扫描技术
当PLC 投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,PLC 的CPU 以一定的扫描速度重复执行上述三个阶段。
(1)
输入采样阶段
在输入采样阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O 映象区中的相应得单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O 映象区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。
(2)
用户程序执行阶段
在用户程序执行阶段,PLC总是按由上而下的顺序依次地扫描用户程序(梯形图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新该逻辑线圈在系统RAM 存储区中对应位的状态;或者刷新该输出线圈在I/O 映象区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。
即,在用户程序执行过程中,只有输入点在I/O 映象区内的状态和数据不会发生变化,而其他输出点和软设备在I/O 映象区或系统RAM 存储区内的状态和数据都有可能发生变化,而且排在上面的梯形图,其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。
(3)输出刷新阶段
当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时,才是PLC 的真正输出
2.PLC 的功能
一、基本数据类型
基本数据类型的长度不**过32位。
位(BOOL),字节(BYTE),字(WORD),双字(DOUBLE WORD),整数(INT),
双整数(DOUBLE INT),浮点数(REAL),S5TIME(SIMATIC时间),IEC时间(TIME),IEC日期(date),日计时(TIME_OF_DAY), 字符(CHAR),
重点: S5TIME和IEC时间数据类型结构,二者区别
二、复杂数据类型
复杂数据类型是由其他基本数据类型组合而成的,长度**过32位的数据类型。
1.日期时间数据类型( Data_And_Time ):
2.字符串类型(bbbbbb):
3.数组类型Array
4.结构(STRUCT):
5.用户定义类型(UDT):
三、参数数据类型
用于功能FC或功能块FB的数据类型
1. Pointe指针类型,6字节指针类型,传递数据块号和数据地址
2. Any指针类型,10字节指针类型,传递数据块号、数据地址、数据数量以及数据类型 在PLC中,子程序是为一些特定的控制目的编制的相对独立的程序。执行子程序调用指令CALL等,如果条件不满足子程序调用时,程序的扫描就仅在主程序中进行,不再去扫描这段子程序,这样就减少了不必要的扫描时间。那么怎样来提高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 都是花钱买来的,不用白不用,不用也是浪费了。
同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换。
关于*3点"使用SET指令只执行一次即可,不必每次扫描都执行这个指令,有些工程人员忽视了这个问题,使用了常规的方法来驱动SET指令,无意中增加了PLC程序扫描运行时间"
1:如果在ob里编写子程序段,是扫描的,但是如果您编写为FC调用,那么在FC的调用条件没有满足时,FC中的程序暂时不执行。这也是我所说节省时间的意思。 2:PLC的执行步数根据程序长短会不同,扫描时间会根据执行步数的不同而不同,如果用一个mov指令完成8个数字量输出的控制,当然比用8个mov指令完成8个数字量输出的控制所需要的程序步数少。
添加一个:
避免了类型转换,方法如下:
以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的功能非常丰富。这主要与它具有丰富的处理信息的指令系统及存储信息的内部器件有关。
它的指令多达几十条、几百条,可进行各式各样的逻辑问题的处理,还可进行各种类型数据的运算。凡普通计算机能做到的,它也都可作到。
它的内部器件,即内存中的数据存储区,种类繁多,容量宏大。I/O继电器,可以用以存储入、出点信息的,少的几十、几百,多的可达几千、几万,以至10几万。这意味着它可进行这么多I/O点的入出信息变换,进行这么大规模的控制。
它的内部种种继电器,相当于中间继电器,数量更多。内存中一个位就可作为一个中间继电器,怎么不多!
它的计数器、定时器也很多,是继电电路所望尘莫及的。小小的箱体或模块,其内部定时器、计数器可达成百、成千。这也是因为只要用内存中的一个字,再加一些标志位,即可成为定时器、计数器,所以才那么多。
而且,这些内部器件还可设置成丢电保持的,或丢电不保持的,即上电后予以清零的。以满足不同的使用要求。这些也是继电器件所难以做到的。
它的数据存储区还可用以存储大量数据,几百、几千、几万字的信息都可以存,而且,掉电后还不丢失。
PLC还有丰富的外部设备,可建立友好的人机界面,以进行信息交换。可送入程序,送入数据,可读出程序,读出数据。而且读、写时可在图文并茂的画面上进行。数据读出后,可转储,可打印。数据送入可键入,可以读卡入,等等。
PLC还具有通讯接口,可与计算机链接或联网,与计算机交换信息。自身也可联网,以形成单机所不能有的更大的、地域更广的控制系统。
PLC还有强大的自检功能,可进行自诊断。其结果可自动记录。这为它的维修增加了透明度,提供了方便。
丰富的功能为PLC的广泛应用提供了可能;同时,也为工业系统的自动化、远动化及其控制的智能化创造了条件。
像PLC这样集丰富功能于一身,是别的电控制器所没有的;更是传统的继电控制电路所无法比拟的。1、所编的程序要合乎所使用的PLC的有关的规定
主要是对指令要准确地理解,正确地使用。各种PLC指令多有类似之处,但还有些差异。对于有PLC使用经验的人,当选用另一种不太熟悉的型号进行编程设计时,一定要对新型号PLC的指令重新理解一遍,否则容易出错。
2、要使所编的程序尽可能简洁
简短的程序可以节省内存,简化调试,而且还可节省执行指令的时间,提高对输入的响应速度。要使所编的程序简短,就要注意编程方法,用好指令,用巧指令,还要能优化结构。要实现某种功能,一般而言,在达到的目的相同时,用功能强的指令比用功能单一的指令,程序步数可能会少些。
3、要使所编的程序尽可能清晰
这样既便于程序的调试、修改或补充,也便于别人了解和读懂程序。要想使程序清晰,就要注意程序的层次,讲究模块化、标准化。特别是在编制复杂的程序时,更要注意程序的层次,可积累自己的与吸收别人的经验,整理出一些标准的具有典型功能的程序,并尽可能使程序单元化,像计算机中的常用的一些子程序一样,移来移去都能用,这样,设计起来简单,别人也易了解。
4、要使所编的程序合乎PLC的性能指标及工作要求
所编程序的指令条数要少于所选用的PLC内存的容量,即程序在PLC中能放得下,所用的输入、输出点数要在所选用PLC的I/O点数范围之内,PLC的扫描时间要少于所选用PLC的程序运行监测时间。PLC的扫描时间不仅包括运行用户程序所需的时间,而且还包括运行系统程序,(如I/O处理、自监测)所需的时间。
5、所编程序能够循环运行
PLC的工作特点是循环反复、不间断地运行同一程序。运行从初始化后的状态开始,待控制对象完成了工作循环,则又返回初始化状态。只有这样才能使控制对象在新的工作周期中也得到相同的控制。
http://zhanghouq.cn.b2b168.com
欢迎来到浔之漫智控技术(上海)有限公司网站, 具体地址是上海市松江区上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室,联系人是聂经理。
主要经营浔之漫智控技术(上海)有限公司主要经营:西门子PLC代理商、西门子PLC模块代理商、西门子中国一级代理商、西门子低压电器总代理商、西门子DP通讯电缆代理商、西门子中国总代理商等;欢迎大家来电咨询。。
单位注册资金未知。
本公司主营:西门子PLC代理商,西门子PLC模块代理商,西门子中国一级代理商,西门子低压电器总代理商,西门子DP通讯电缆代理商,西门子中国总代理商等产品,是一家优秀的电子产品公司,拥有优秀的高中层管理队伍,他们在技术开发、市场营销、金融财务分析等方面拥有丰富的管理经验,选择我们,值得你信赖!