当前位置:文档之家› 基于PLC的自动化制造系统毕业论文中英文资料对照外文翻译文献综述

基于PLC的自动化制造系统毕业论文中英文资料对照外文翻译文献综述

附录1:外文资料翻译译文

基于PLC的自动化制造系统

15.梯形图逻辑函数

主题:

?数据处理、数学运算、数据转换、阵列操作、统计、比较、布尔量运算等函数?设计实例

宗旨:

?理解基本函数,允许计算和比较

?了解使用了内存文件的数组函数

15.1介绍

梯行图逻辑输入触点和输出线圈之间允许简单的逻辑判断。这些函数把基本的梯形图逻辑延伸到其他控制形式中。例如,附加的定时器和计数器允许基于事件的控制。在下图15.1中有一个较长的关于这些函数的表。这包括了组合逻辑和事件函数。本章将会研究数据处理和数值的逻辑。下一章将介绍表、程序控制和一些输入和输出函数。剩下的函数会在后面的章节中讨论

图15.1 基本PLC函数分类

大多数的函数会使用PLC 的存储单元获取值、储存值和跟踪函数状态。一般大部分函数当输入值是“真”时,会被激活。但是,有些函数,如延时断开定时器,可以在无输入时,保持激活状态。其它的函数仅当输入由“假”变“真”时,才会被执行,这就是所谓的上升沿触发。想想,一计数器仅仅是输入由“假”变“真”时才会计数,输入为“真”状态的持续时间并不影响函数动作。而下降沿触发函数仅当输入由“真”变“假”时才会触发。多数函数并非边沿触发:除非有规定说明函数不是边沿触发。

15.2数据处理 15.2.1传递函数

有两种基本的传递函数;

MOV(值,操作数) -把值传递到指定的存储位置。

MVM(值,标号,操作数) -把值传递到指定的存储位置,但是用标号来指定一个传递的位。

这个MOV 函数从一个存储空间取出一个值放置到另外一个存储空间里。下图15.2给出了MOV 的基本用法。当A 为“真”,MOV 函数把一个浮点数从原操作数传递到操作数存储位置。原操作数地址中的数据没有改变。当B 为“真”时,原操作数中的浮点数将被转换成整数存储在操作数存储区中。浮点数会被四舍五入成整数。当C 为“真”时,整数“123”将被存储在整数文件N7:23中。

MOV

原操作数F8:07操作数N7:23MOV

原操作数123操作数N7:23

MOV

原操作数F8:07操作数

F8:23

图15.2 MOV的基本用法

下图15.3给出了更多更复杂的MOV函数用法。当A为“真”时,第一个模块将会把值“123”送入N7:0,同时第二个模块将会把值“-9385”从N7:1 送到N7:2中(这个值之所以为负数,是因为我们使用了2S的compliment)。对于基本的MOV函数使用中,二进制数值不是必要的;但是在MVM函数中,二进制数值却是必要的。这个模块中从N7:3 移动二进制数值到N7:5中。但是这些“位”在N7:4中仍为“ON”,操作数的其他位将不会受到影响。请注意:N7:5的第一位N7:5/0在指令执行前后仍为“ON”,但是在N7:4中却不同,MVM 函数当应用在个别二进制位的处理中时非常有用,但是处理实数却是用处不大了。

MOV

原操作数130

dest N7:0

MOV

原操作数N7:1

dest N7:2

MVM

原操作数N7:3

标号N7:4

dest N7:5

MVM

原操作数N7:3

标号N7:4

dest N7:6

图15.3MOV和MVM函数的使用实例

15.2.2数学函数

数学函数将检索一个或多个值,执行一个操作然后把结果储存在内存中。图15.4展示的是一个ADD函数从N7:4和F8:35中读取数据操,把他们转换成操作数的地址格式,把两个浮点数相加,结果储存在F8:36中。该函数有两个原操作数记做“原操作数A”、“原操作数B”。对于该函数来说原操作数顺序可以改变,但是这对于“减法函数”或“除法函数”等其他操作来说却不一定正确,下面列出了其他一些基本的数学函数。其中的一些,如“取负”是一元的函数,也就是说它只有一个原操作数。

原操作数A N7:04

原操作数B F8:35

操作数F8:36

图15.4数学函数

图15.5列出了数学函数的用法,多数函数的执行会给出我们期待的结果,第二个ADD函数从N7:3中取了一个值,加1然后送入原操作数,这就是通常所说的“自加”操作。第一个DIV,执行操作整数25除以整数10,结果四舍五入

为最接近的整数,这时,结果被储存在N7:6中。NEG指令取走了新数“-10”,而不是源数据“0”,从N7:4取出的数据符号被取反,结果存入N7:7。

图15.5 数学函数例子

函数、对数函数、取二次方根函数。最后一个函数CPT能接受表达式并且可以执行一个复杂的运算。

图15.6 高级数学函数

图15.7展示的是把表达式转化成梯形图逻辑。转换的第一步是把表达式的变量存入PLC中没被使用过的存储区中。接下来拥有很多嵌套运算的方程就可以被转化,例如LN函数。这时LN函数的运算结果被保存在其他存储空间中,之后会被调用。其它的一些操作会应用在相似的情况下。(注意:这些方程可能应用在其他场合中,占用更少的存储空间。)

给定方程

指定存储

图15.7 用梯形图表示的方程

和图15.7中一样的方程被应用于图15.8所示的CPT函数中。存储区也和上

图使用的一样。该表达式被直接输进了PLC程序中。

图15.8 利用CPT函数计算

数学函数可以导致诸如溢出,进位等状态标识位变化,注意要尽量避免出现像“溢出”这样的问题。但是使用浮点数时这种问题会少一点。而整数极易出现这样的问题,因为它们受到-32768—32767这样一个数据范围的限制。

15.2.3 转换函数

梯形图中的转换函数列在了图15.9中。例子中的函数将会从D存储区读取一个BCD码数据,然后把它转换为浮点数存储在F8:2中。其它的函数将把二进制负数转换成BCD码数据,下面的函数也包含了弧度数和角度的转化。

图15.9 转换函数

图15.10给出了转换函数的例子。这些函数读取一个源数据后,开始转换,结束后储存结果。TOD函数转换成BCD码将会出现“溢出”错误。

图15.10 转换例子

15.2.4矩阵函数

矩阵可以储存多列数据。在PLC 中这将是一系列的整数数字,浮点数或者 其它类型的数据。例如,假定我们测量和保存一块封装芯片的重量时要使用浮点数存储区F8:20。每十分钟要读取一次重量数据,并且一小时后找出平均重量。这一节我们将聚焦于矩阵中多组数据的处理技术,

也就是说明书中所谓的“块”。 15.2.4.1-统计

这些函数也是可以处理统计数据的。图15.11列出了这些函数,当A 变为“真”A VE 函数的转换操作从存储区F8:0开始,并算出四个数的平均值。控制字R6:1被用来跟踪运算的进程,并判断运算何时结束。这些运算还有其它的一些是边沿触发的。该次运算可能会需要经过多个扫描周期才能完成。运算结束后,平均值被储存在F8:0中,同时R6:1/DN 位被置ON 。

图15.11统计函数

如图15.12给出的统计函数例子,它拥有一个有四个字长从F8:0开始的数组数据。每次执行平均值运算的结果储存在F8:4中,标准差储存在F8:5中。一系列数值被存放在从F8:0到F8:3的按升序排列的存储区中。为防止出现数据覆盖现象,每个函数都应该有自己的控制存储器。同时触发该函数与其他运算不是一个明智的选择,因为在计算期间该函数会移动数据,这会导致错误的结果。

图15.12 统计运算

图15.13给出了最基本的块函数。这个COP函数将会拷贝从N7:50到N7:40拥有十个数据的数组。FAL函数将会通过一个表达式执行数学运算。FSC函数通过使用表达式允许数组之间进行比较。FLL函数会利用一个数据把块存储区填充起来。

图15.13块操作函数

图15.14显示的是拥有不同地址模式的FAL函数使用例子。第一个FAL函数将会执行下列运算:

N7:5=N7:0+5, N7:6=N7:1+5, N7:7=N7:2+5, N8:7=N7:3+5, N7:9=N7:4+5.

第二个FAL函数中在表达式值之前缺少“#”标识,因此运算将变为:

N7:5=N7:0+5, N7:6=N7:0+5, N7:7=N7:0+5, N8:7=N7:0+5, N7:9=N7:0+5.

当B为真,且为模式2时该指令在每次扫描周期到来时执行两个运算。最后一个FAL运算的结果为:

N7:5=N7:0+5, N7:5=N7:1+5,N7:5=N7:2+5, N7:5=N7:3+5, N7:5=N7:4+5.

最后一个操作貌似没什么用处,但是请注意,该运算是增值的。在C上升沿到来时该运算都会执行一次。每次扫描周期经过时,这几个运算将执行所有的5个操作一次。用来指示每次扫描运算的编号,而插入一个号码也是有可能的。由于有较大的数组,运算时间可能会很长,同时尝试每次扫描时执行所有运算也将会导致看门狗超时错误。

图15.14 文本代数函数例子

15.3 逻辑函数

15.3.1 数值比较

图15.15所示为比较函数,先前的函数块是输出,它取代了输入联系。例子展示的是比较两个浮点数大小的函数EQU。如果数值相当,则输出位B3:5/1为

真,否则为假。其他形式的相等函数也裂了出来。

图15.16展示了六个基本的比较函数。图右边是比较函数的操作例子,

图15.16比较函数例子

图15.16中的梯形图程序在图15.17中又用CMP函数表达了一遍,该函数

可以使用文本表达式。

图15.17使用CMP函数的等价表述

表达式可以被用来做许多复杂运算,如图15.18所示。表达式将会判断F8:1

是否介于F8:0和F8:2之间。

图15.18一个更加复杂的比较函数

LIM和MEQ函数如图15.19所示。前三个函数将会判断待检测值是否处在范围内。如果上限值大于下限值且待测值介于限值之间或者等于限值,那么输出

为真。如果下限值大于上限值,则只有待测值在范围之外时输出值才为真。

上限

下限

下限上限

图15.20LIM函数的线段表示

图15.20展示的线段可以帮助我们判断待测数值是否在限值内。

在图15.21中使用FSC指令进行文件与文件的比较也是被允许的。该指令使

用了控制字R6:0。它将解释表达式10次,做两次比较在每次逻辑扫描中(模式2)。

比较为:F8:10

F8:14

F8:18

FSC

控制字R6:0

长度10

位置0

模式2

表达式#F8:10

图15:21使用表达式的文件比较

15.3.2布尔函数

图15.22显示的是布尔代数函数。函数显示从位存储单元获取数据字,执行一个AND操作,把结果储存在一个新的位逻辑单元。这些函数都是面向“字”层面的运算。执行布尔运算的能力,该能力允许不止单一位上的逻辑运算。

图15.22布尔函数

图15.23展示了布尔函数的使用。前三个函数需要两个参数,最后一个函数只需要一个参数。与函数只有两个操作数同时为真结果位才会被置ON。或函数只要两个操作数中任意一个为ON,那么它就将结果位置ON。异或函数两操作数中有且仅有一个为ON那么结果位才会被置ON。非函数将字中所有位取反。

相关主题
文本预览
相关文档 最新文档