基于plc的自动化制造系统外文翻译.docx
- 文档编号:9282328
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:37
- 大小:1.33MB
基于plc的自动化制造系统外文翻译.docx
《基于plc的自动化制造系统外文翻译.docx》由会员分享,可在线阅读,更多相关《基于plc的自动化制造系统外文翻译.docx(37页珍藏版)》请在冰豆网上搜索。
基于plc的自动化制造系统外文翻译
录1:
外文资料翻译译文
基于PLC的自动化制造系统
15.梯形图逻辑函数
主题:
•数据处理、数学运算、数据转换、阵列操作、统计、比较、布尔量运算等函数
•设计实例
宗旨:
•理解基本函数,允许计算和比较
•了解使用了内存文件的数组函数
15.1介绍
梯行图逻辑输入触点和输出线圈之间允许简单的逻辑判断。
这些函数把基本的梯形图逻辑延伸到其他控制形式中。
例如,附加的定时器和计数器允许基于事件的控制。
在下图15.1中有一个较长的关于这些函数的表。
这包括了组合逻辑和事件函数。
本章将会研究数据处理和数值的逻辑。
下一章将介绍表、程序控制和一些输入和输出函数。
剩下的函数会在后面的章节中讨论
组合逻辑函数
继电器触点
线圈
事件函数
计时显示
计数显示
数据处理函数
移动
数学运算
转换
数字逻辑函数
布尔量运算
比较
列表函数
转移入栈/出栈
序列发生器
程序控制函数
分支/循环
立即输入/输出
错误/中断检测
输入输出函数
PID
通讯
高速计数器
字符串函数
图15.1基本PLC函数分类
大多数的函数会使用PLC的存储单元获取值、储存值和跟踪函数状态。
一般大部分函数当输入值是“真”时,会被激活。
但是,有些函数,如延时断开定时器,可以在无输入时,保持激活状态。
其它的函数仅当输入由“假”变“真”时,才会被执行,这就是所谓的上升沿触发。
想想,一计数器仅仅是输入由“假”变“真”时才会计数,输入为“真”状态的持续时间并不影响函数动作。
而下降沿触发函数仅当输入由“真”变“假”时才会触发。
多数函数并非边沿触发:
除非有规定说明函数不是边沿触发。
标签:
我并没有像说明书或者软件里那样准确的画出这些函数。
因为
这样会节省空间并且易于阅读,但是所有的必要信息我都给出了。
15.2数据处理
15.2.1传递函数
有两种基本的传递函数;
MOV(值,操作数)-把值传递到指定的存储位置。
MVM(值,标号,操作数)-把值传递到指定的存储位置,但是用标号来指定一个传递的位。
这个MOV函数从一个存储空间取出一个值放置到另外一个存储空间里。
下图15.2给出了MOV的基本用法。
当A为“真”,MOV函数把一个浮点数从原操作数传递到操作数存储位置。
原操作数地址中的数据没有改变。
当B为“真”时,原操作数中的浮点数将被转换成整数存储在操作数存储区中。
浮点数会被四舍五入成整数。
当C为“真”时,整数“123”将被存储在整数文件N7:
23中。
标签:
当函数值改变时,除了输入与输出,其值是瞬间改变的。
试想:
图15.2中,如果ABC都为“真”,那么F8:
23的值将会在下一个指令到来前
就变化。
这与输入输出扫描只发生在逻辑扫描之前或者之后不同。
图15.2MOV的基本用法
下图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函数当应用在个别二进制位的处理中时非常有用,但是处理实数却是用处不大了。
之前数据
之后数据
地址
二进制
十进制
二进制
十进制
N7:
0
B#0000000000000000
0
B#0000000010000010
130
N7:
1
B#110110*********1
-9385
B#110110*********1
-9385
N7:
2
B#1000000000000000
-32768
B#110110*********1
-9385
N7:
3
#010*********
22715
B#110110*********1
-10053
N7:
4
B#0010101010101010
10922
B#0010101010101010
10922
N7:
5
B#0000000000000001
1
B#00001000101010
2219
N7:
6
B#110111*********1
B#110111*********1
标签:
标号的概念非常重要,并且也可以用在其他函数中。
标号允许指令改变一个二进制数据的其中四位,而不用改变它的全部数值。
当你使用二进制数据中的位来表示声明,模式或者状态等内容时,你会很希望这么做。
图15.3是MOV和MVM函数对二进制数值的操作例子
图15.3MOV和MVM函数的使用实例
15.2.2数学函数
数学函数将检索一个或多个值,执行一个操作然后把结果储存在内存中。
图15.4展示的是一个ADD函数从N7:
4和F8:
35中读取数据操,把他们转换成操作数的地址格式,把两个浮点数相加,结果储存在F8:
36中。
该函数有两个原操作数记做“原操作数A”、“原操作数B”。
对于该函数来说原操作数顺序可以改变,但是这对于“减法函数”或“除法函数”等其他操作来说却不一定正确,下面列出了其他一些基本的数学函数。
其中的一些,如“取负”是一元的函数,也就是说它只有一个原操作数。
加(值1,值2,操作数)-累加两个值
减(值1,值2,操作数)-值1减值2给操作数
乘(值1,值2,操作数)-值1乘值2给操作数
除(值1,值2,操作数)-值1除值2给操作数
取反(值,操作数)-将值取反送给操作数
清除(值)-将值存储区清零
标签:
为了节省空间上图给出了函数的缩略符号,例如函数ADD(值1,值2,操作数)需要两个原操作数,并把值存入操作数。
为了减少描述函数时的空间这些符号将被用在很多地方
图15.4数学函数
图15.5列出了数学函数的用法,多数函数的执行会给出我们期待的结果,第二个ADD函数从N7:
3中取了一个值,加1然后送入原操作数,这就是通常所说的“自加”操作。
第一个DIV,执行操作整数25除以整数10,结果四舍五入为最接近的整数,这时,结果被储存在N7:
6中。
NEG指令取走了新数“-10”,而不是源数据“0”,从N7:
4取出的数据符号被取反,结果存入N7:
7。
地址
之前值
之后值
N7:
0
10
10
N7:
1
25
25
N7:
2
0
35
N7:
3
0
1
N7:
4
0
-10
N7:
5
0
250
N7:
6
0
3
N7:
7
0
10
N7:
8
100
0
F8:
0
10.0
10.0
F8:
1
25.0
25.0
F8:
2
0
2.5
F8:
3
0
2.5
图15.5数学函数例子
标签:
调用,整数范围从-32768到32767并且没有小数。
图15.6列出了更多的高级函数。
这个列表包括基本的三角函数、取绝对值函数、对数函数、取二次方根函数。
最后一个函数CPT能接受表达式并且可以执行一个复杂的运算。
ACS(值,操作数)-反余弦
COS(值,操作数)-余弦
ASN(值,操作数)-反正弦
SIN(值,操作数)-正弦
ATN(值,操作数)-反正切
TAN(值,操作数)-正切
XPY(值1,值2,操作数)-X的Y次幂
LN(值,操作数)-自然对数
LOG(值,操作数)-以10为底的对数
SQR(值,操作数)-开二次方根
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码数据,下面的函数也包含了弧度数和角度的转化。
TOD(value,destination)–把BCD码转换为二进制数
FRD(value,destination)-把二进制值转换为BCD码
DEG(value,destination)–把弧度数转换为度数
RAD(value,destination)-把度数转换为弧度数
图15.9转换函数
图15.10给出了转换函数的例子。
这些函数读取一个源数据后,开始转换,结束后储存结果。
TOD函数转换成BCD码将会出现“溢出”错误。
地址
之前值
之后值
N7:
0
0
1793
N7:
1
548
548
F8:
0
3.141
3.141
F8:
1
45
45
F8:
2
0
180
F8:
3
0
0.785
D9:
0
0000000000000000
0000010101001000
D9:
1
0001011110010011
0001011110010011
图15.10转换例子
15.2.4矩阵函数
矩阵可以储存多列数据。
在PLC中这将是一系列的整数数字,浮点数或者
其它类型的数据。
例如,假定我们测量和保存一块封装芯片的重量时要使用浮点数存储区F8:
20。
每十分钟要读取一次重量数据,并且一小时后找出平均重量。
这一节我们将聚焦于矩阵中多组数据的处理技术,也就是说明书中所谓的“块”。
15.2.4.1-统计
这些函数也是可以处理统计数据的。
图15.11列出了这些函数,当A变为“真”AVE函数的转换操作从存储区F8:
0开始,并算出四个数的平均值。
控制字R6:
1被用来跟踪运算的进程,并判断运算何时结束。
这些运算还有其它的一些是边沿触发的。
该次运算可能会需要经过多个扫描周期才能完成。
运算结束后,平均值被储存在F8:
0中,同时R6:
1/DN位被置ON。
AVE(开始值,操作数,控制字,长度)–求平均值
STD(开始值,操作数,控制字,长度)–求标准差
SRT(开始值,控制字,长度)–排列一串值
图15.11统计函数
如图15.12给出的统计函数例子,它拥有一个有四个字长从F8:
0开始的数组数据。
每次执行平均值运算的结果储存在F8:
4中,标准差储存在F8:
5中。
一系列数值被存放在从F8:
0到F8:
3的按升序排列的存储区中。
为防止出现数据覆盖现象,每个函数都应该有自己的控制存储器。
同时触发该函数与其他运算不是一个明智的选择,因为在计算期间该函数会移动数据,这会导致错误的结果。
地址
之前
A导通后
B导通后
C导通后
F8:
0
3
3
3
1
F8:
1
1
1
1
2
F8:
2
2
2
2
3
F8:
3
4
4
4
4
F8:
4
0
2.5
2.5
2.5
F8:
5
0
0
1.29
1.29
图15.12统计运算
旁白:
这些函数允许SPC(统计)数据控制中的实数运算。
仅
有的不是这样的PLC函数是随机函数,它允许出现随机样本数据。
15.2.4.2-块操作
图15.13给出了最基本的块函数。
这个COP函数将会拷贝从N7:
50到N7:
40拥有十个数据的数组。
FAL函数将会通过一个表达式执行数学运算。
FSC函数通过使用表达式允许数组之间进行比较。
FLL函数会利用一个数据把块存储区填充起来。
COP(开始值,操作数,长度)
拷贝一个数据块
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为真,否则为假。
其他形式的相等函数也裂了出来。
EQU(值1,值2)
相等
NEQ(值1,值2)
不相等
LES(值1,值2)
小于
LEQ(值1,值2)
小于等于
GRT(值1,值2)
大于
GEQ(值1,值2)
大于等于
CMP(表达式)
比较两值是否相等
MEQ(值,符号,临界值)
使用一个符号来比较值是否相等
LIM(低限,值,高限)
检测值是否在范围内
图15.15比较函数
图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所示。
前三个函数将会判断待检测值是否处在范围内。
如果上限值大于下限值且待测值介于限值之间或者等于限值,那么输出为真。
如果下限值大于上限值,则只有待测值在范围之外时输出值才为真。
地址
十进制(之前值)
二进制(之前值)
二进制(之后值)
N7:
0
1
0000000000000001
0000000000000001
N7:
0
5
0000000000000101
0000000000000101
N7:
0
11
0000000000001011
0000000000001011
N7:
0
15
0000000000001111
0000000000001111
N7:
0
8
0000000000001000
0000000000001000
N7:
0
0
0000000000000000
0000000000001101
图15.19复杂的比较函数
图15.20LIM函数的线段表示
图15.20展示的线段可以帮助我们判断待测数值是否在限值内。
在图15.21中使用FSC指令进行文件与文件的比较也是被允许的。
该指令使用了控制字R6:
0。
它将解释表达式10次,做两次比较在每次逻辑扫描中(模式2)。
比较为:
F8:
10 0,F8: 11 0然后F8: 12 0,F8: 13 0然后F8: 14 0,F8: 15 0然后F8: 16 0,F8: 17 0然后是F8: 18 0,F8: 19 0。 函数将会继续执行除非发现一个错误状态或者完成比较。 如果比较完成没有发现错误状态那么输出A将为“真”。 在一个扫描周期中该模式也会一直执行所有比较。 或者当函数前面的输入为真时就更新增量---在这种情况下输入为一条线,而一直为真。 图15: 21使用表达式的文件比较 15.3.2布尔函数 图15.22显示的是布尔代数函数。 函数显示从位存储单元获取数据字,执行一个AND操作,把结果储存在一个新的位逻辑单元。 这些函数都是面向“字”层面的运算。 执行布尔运算的能力,该能力允许不止单一位上的逻辑运算。 AND(值1,值2,操作数) 二进制“与”函数 OR(值1,值2,操作数) 二进制“或”函数 NOT(值1,值2,操作数) 二进制“非”函数 XOR(值1,值2,操作数) 二进制“异或”函数 图15.22布尔函数 图15.23展示了布尔函数的使用。 前三个函数需要两个参数,最后一个函数只需要一个参数。 与函数只有两个操作数同时为真结果位才会被置ON。 或函数只要两个操作数中任意一个为ON,那么它就将结果位置ON。 异或函数两操作数中有且仅有一个为ON那么结果位才会被置ON。 非函数将字中所有位取反。 附录2: 外文原文 AutomatingManufacturingSystemswithPLCs 15.LADDERLOGICFUNCTIONS Topics: •Functionsfordatahandling,mathematics,conversions,arrayoperations,statistics, comparisonandBooleanoperations. •Designexamples Objectives: •Tounderstandbasicfunctionsthatallowcalculationsandcomparisons •Tounderstandarrayfunctionsusingmemoryfiles 15.1INTRODUCTION Ladderlogicinputcontactsandoutputcoilsallowsimplelogicaldecisions.Functions extendbasicladderlogictoallowothertypesofcontrol.Forexample,theadditionof timersandcountersallowedeventbasedcontrol.Alongerlistoffunctionsisshownin Figure15.1.CombinatorialLogicandEventfunctionshavealreadybeencovered.This chapterwilldiscussDataHandlingandNumericalLogic.Thenextchapterwillcover ListsandProgramControlandsomeoftheInputandOutputfunctions.Remainingfunctions willbediscussedinlaterchapters. Figure15.1BasicPLCFunctionCategories MostofthefunctionswillusePLCmemorylocationstogetvalues,storevalues andtrackfunctionstatus.Mostfunctionwillnormallybecomeactivewhentheinputistrue.But,somefunctions,suchasTOFtimers,canremainactivewhentheinputisoff.Otherfunctionswillonlyoperatewhentheinputgoesfromfalsetotrue,thisisknownaspositiveedgetriggered.Consideracounterthatonlycountswhentheinputgoesfromfalsetotrue,thelengthoftimetheinputistruedoesnotchangethefunctionbehavior.Anegativeedgetriggeredfunctionwouldbetriggeredwhentheinputgoesfromtruetofalse.Mostfunctionsarenotedgetriggered: unlessstatedassumefunctionsarenotedgetriggered. 15.2DATAHANDLING 15.2.1MoveFunctions Therearetwobasictypesofmovefunctions; MOV(value,destination)-movesavaluetoamemorylocation MVM(value,mask,destination)-movesavaluetoamemorylocation,butwitha masktoselectspecificbits. ThesimpleMOVwilltakeavaluefromonelocationinmemoryandplaceitin anothermemorylocation.ExamplesofthebasicMOVaregiveninFigure15.2.WhenAistruetheMOVfunctionmovesafloatingpointnumberfromthesourcetothedestinationaddress.Thedatainthesourceaddressis
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 plc 自动化 制造 系统 外文 翻译