PMC功能指令
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
种类设定时间范围备注
1msec 1msec~32.7秒
8msec 8msec~262.1秒定时器9以上初始值
10msec 10msec~327.7秒
48msec 48msec~1572.8秒定时器1~8初始值
100msec 100msec~54.6分
1秒1秒~546分
1分1分~546小时
定时器的定时器精度,对应存储在T9000~T9499中,设值含义如下:
0 :缺省(8msec/48msec)
1 :1msec
2 :10msec
3 :100msec
4 :1秒
5 :1分
【输出】
W1 :ACT接通后,经过定时器设定的时间后,输出即接通为1。
【使用范例】
X0.0接通后再经过100ms,R0.0就接通为1。
“精度”由T9000~T9499来决定,每个计数器占两个字节,同时也对应T9000~T9499的相应两字节为“精度”设定地址,依次类推。
对于1号计数器,对应为T9000~T9001设定
精度,如果T9000~T9001为0,则精度按缺省处理,为48ms。
范例中T9000=3,即精度
等级为100,在此条件下,“设定时间”必须是100的倍数。
【使用范例】
·X0.0接通3秒之后,R0.0输出为1。
·在任意时间一旦X0.0为0,R0.0马上为0。
延时定时器(上升沿触发):SUB54/TMRC
定时器精度范围扩展为以分为单位,可作为长时间定时器使用。
在控制参数中可以自由的指定定时器设定时间地址,所以没有定时器个数限制。
【控制条件】
ACT =0 : 定时器输出W1为0
=1 : 启动定时器
【控制参数】
定时器精度 : 种类 定时器精度
设定时间范围 1msec 5 1msec~32.7秒 8msec 0 8msec~262.1秒 10msec 6 10msec~327.7秒 48msec 1 48msec~1572.8秒 100msec 7 100msec~54.6分 1秒 2 1秒~546分 10秒 3 10秒~91小时 1分
4 1分~546小时
SUB54 TMRC
ACT
定时器精度
定时器设定时间地址 定时器寄存器地址
W1
设定时间
ACT
W1
【定时器设定时间地址】
:指定用于存储定时器设定值2字节长地址的首地址。
(通常使用D地址)
【定时器寄存器地址】
:指定使用该命令时的4字节长地址的首地址。
(通常使用R地址)【输出】
W1 :ACT为1经过定时器设定的时间后,输出即接通为1。
【使用范例】
·本例定时器精度为8ms
·假设D100中数据为100,则定时器定时时间为100*8=800ms
·即X0.0接通经过800ms之后,R0.0接通为1.
·同样,在任意时间如果X0.0为0,则输出R0.0立即为0
·R100为系统作业区域
计数器号的最大值,根据PMC类型不同而不同。
0i-D PMC 0i-D/0i Mate-D
PMC/L
计数器号1到100 1到20
计数器的数据形式为二进制时,计数范围为0~32767。
为BCD形式时,计数范围为0~9999。
计数器号使用自动分配功能时,将未使用的计数器号进行分配,十分方便。
【输出】
W1 =1 :为计数器输出信号。
加计数到最大值,减计数到最小值时输出为1。
【使用范例】
·从1到20进行计数的计数器(设定值即为预置值)
·在X0.0的上升沿,“现在值”加1,当“现在值”到20时,R0.0输出为1
·当F1.1为1时,“现在值”复位为1
每个计数器占据4个字节,前两个字节为“设定值”,后两个字节为“现在值”。
如上例中,1号计数器地址为C0~C3,其中设定值地址为C0~C1,现在值地址为C2~C3。
数据传送命令
● 1字节长数据传送:SUB43/MOVB
把1字节的数据从被指令的传出位置地址传送到指定的传入位置地址。
【控制条件】
ACT
=1 : 执行命令
【控制参数】 传出位置地址
: 1字节数据的存储位置地址
传入位置地址
: 1字节数据的传入位置地址
【使用范例】
当X0.0为1时,将D100的数据传送给R200
● 2字节长数据传送:SUB44/MOVW
把2字节的数据从被指令的传出位置地址传送到指定的传入位置地址。
SUB43 MOVB
ACT
传出位置地址 传入位置地址
【控制条件】
ACT
=1 : 执行命令
【控制参数】 传出位置地址
: 2字节数据的存储位置地址
传入位置地址
: 2字节数据的传入位置地址
【使用范例】
当X0.0为1时,将D100~D101的数据传送给R200~R201
4字节长数据传送:SUB47/MOVD
把4字节长的数据从被指令的传出位置地址传送到指定的传入位置地址。
【控制条件】
ACT
=1 : 执行命令
SUB44 MOVW
ACT
传出位置地址 传入位置地址
SUB47 MOVD
ACT
传出位置地址 传入位置地址
【控制参数】 传出位置地址
: 4字节数据的存储位置地址
传入位置地址
: 4字节数据的传入位置地址
任意字节长数据传送:SUB45/MOVN
传送指定长度(1~200)的数据从指令源地址到目的地址。
【控制条件】
ACT
=1 : 执行命令
【控制参数】 传送字节数 : 指令需要传送的字节长度(1~200) 传送源地址 : 传送字节数据的存储位置地址。
传送目的地址
: 传送字节数据的传入位置地址。
【使用范例】
当X0.0为1时,将D100~D104的数据传送给R100~R104
SUB45 MOVN
ACT 传送字节数(1~200) 传送源地址 传送目的地址
逻辑乘后数据传送:SUB8/MOVE
将逻辑乘数据和输入数据进行逻辑乘(AND)运算,并将结果输出至指定地址。
还可以用来从指定地址中排除不需要的位数。
ACT
SUB8
MOVE
逻辑乘数据的高4位
逻辑乘数据的低4位
输入数据地址
输出地址
【控制条件】
ACT =1 :执行命令
【控制参数】
逻辑乘数据:逻辑乘
输入数据地址
:进行逻辑乘操作的数据
输出地址:指定输入数据进行逻辑乘运算之后的结果输出地址【使用范例】
X10 :0 1 0 0 1 0 1 0
逻辑乘数据:0 0 0 1 1 1 1 1
R100 :0 0 0 0 1 0 1 0
逻辑和后数据传送:SUB28/MOVOR
将指定的1个字节的输入数据和逻辑和数据根据控制参数进行逻辑和(OR)运算,并将结果输出至指定地址。
ACT
SUB28
MOVOR
输入数据地址
逻辑和数据地址
输出地址
【控制条件】
ACT =1 :执行命令
【控制参数】
逻辑和数据:指定进行逻辑和运算的常数
输入数据地址:指定输入数据地址
输出地址:指定输入数据进行逻辑和运算之后的结果输出地址
【使用范例】
X10 :0 1 0 0 1 0 1 0
R200 :0 0 0 1 1 1 1 1
R100 :0 1 0 1 1 1 1 1
【使用范例】
·该功能模块使用了扩展规格,每次从数据表中读取出2字节长度的数据
·该数据表式以D150为表头地址的数据表(即D150的表内号为0,D151表内号为1,D152表内号为2,以下逐一递增)
·R300指令数据表的长度,如果R300中数据为5,则数据表范围从D150~D159 ·R200中指定要从数据表中读取的连续2个字节长度的第一个数据的表内号
·R100为读取的连续两个字节长度数据的存储地址的首地址,即存储地址为
R100~R101
·如果R300中数据为10,R200中数据为2,按图例,当X0.0为1时,则读取
D152~D153中存储的数据至R100~R101中,也即R100~R101数据为10
当X0.0为1时,比较指令生效,由于D100小于R100,则输出R9000.1=1
大小比较:SUB15/COMP
2位或4位BCD 数据的数值比较,比较结果输出到W1。
【控制条件】 BYT =0 : 输入和比较数据均为BCD 两位数据。
=1 : 输入和比较数据均为BCD 四位数据。
ACT
=1 : 执行指令。
【控制参数】 输入数据格式指定 =0 : 输入数据用常数来指定。
=1 : 输入数据用地址来指定。
输入数据
: 比较用的基准数据,格式取决于上述的指定。
比较数据地址
: 指定用于存放比较数据的地址。
【输出】 W1 =0 : 输入数据>比较数据
=1 : 输入数据≤比较数据
SUB15 COMP
B YT ACT
输入数据格式指定
输入数据(常数/地址) 比较数据地址
W1(比较结果输出)
奇偶校验:SUB11/PARI
对1个字节的指定数据进行奇偶校验,检测到不正常时输出错误报警。
【控制条件】 OE =0 : 偶校验
=1 : 奇校验
RST =1 : 发生奇偶校验错误时,若RST=1,则输出W1=0
ACT
=1 : 执行奇偶校验命令。
【控制参数】 校验数据地址
: 指定进行奇偶校验的数据的存储地址。
【输出】
W1
: 在执行指令之后如果结果不正常,输出W1为1。
【使用范例】
·X0.0接通时,该功能模块起效,且为奇效验。
·假设X10为00111010,由于1的数量为4个(偶数个),输出R0.0为1。
·假设X10为00111000,由于1的数量为3个(奇数个),输出R0.0为0。
SUB11 PARI
O .E RST ACT
校验数据地址
W1(错误输出)
二进制代码转换:SUB27/CODB
在该命令的内置变换表中设置数值,表号(0~255)用二进制数据指定。
数据值写入变换数据输出地址。
所用数据均为二进制码表示。
【控制条件】 RST =1 : 复位输出W1=0
ACT
=1 : 执行COD 指令。
【控制参数】 格式指定
: 指定变换数据长度(1,2,4字节)
变化数据数 : 指定变换的数据容量,范围为0~256。
变换数据输入地址 : 变换表的数据可以根据指定表号取出,存储变换表表号的地址称
为变换数据输入地址,需要指定为1字节数据。
变换数据输出地址
: 变换完成之后,存储由数据表输出的数据。
【输出】
W1
: 执行CODB 指令时,如果转换输入地址出现错误,输出为1。
SUB27 CODB
RST
ACT
格式指定
变换数据数(0~256) 变换数据输入地址 变换数据输出地址
W1(错误输出)
● BCD 译码:SUB4/DEC
两位BCD 代码和给定定数据进行判定,一致时输出W1为1,不一致时输出为0。
【控制条件】 ACT =0 : 译码输出结果W1为0
=1 : 执行译码指令
【控制参数】 BCD 译码数据地址
: 指定1字节长BCD 译码数据的存储地址 译码指令 : 指定译码相关的数据和译码位数 nndd nn 指定译码值 dd 译码位数指定 01 = 只译低位,高位为0 10 = 只译高位,低位为0
11 = 高低位均译
【输出】 W1 : ACT 为1时,当指定的BCD 译码数据地址中的数据和译码值相
同时,输出W1为1,不相同时输出为0。
ACT 为0时,输出W1为0
【使用范例】
SUB4 DEC
n n d d
ACT
BCD 译码数据地址(1字节长) 译码指令
W1(结果)
#7
#6 #5 #4 #3 #2 #1 #0 +7 +6 +5 +4 +3 +2 +1 +0 +15 +14 +13 +12 +11 +10 +9 +8 +23 +22 +21 +20 +19 +18 +17 +16 · ·
· ·
· ·
· ·
· ·
· ·
· ·
· ·
+791 +790 +789 +788 +787 +786 +785 +784
【使用范例】
范例为对M 代码进行译码操作,当系统收到M 辅助功能指令时,F7.0为1时,该 指令生效。
·F10为系统M 代码输出地址
·该译码指令对从M3~M10的连续8个M 代码进行译码 ·译码输出地址位为R10,且R10同时仅有一位为1
·比如当指令M3时,R10.0=1,指令M4时,R10.1=1,对应关系如下:
#7 #6 #5 #4 #3 #2 #1 #0 R10
M10
M9
M8
M7
M6
M5
M4
M3
输出地址+0 +1 +2 ·
·
+98。