S7-200CN6ES7223-1BF22-0XA8售后服务
-
¥6.00
<p>
S7-200CN6ES7223-1BF22-0XA8售后服务
</p>
<p>
从10月份起,以铁矿石为首的黑色系大幅上涨引起了业内外的广泛关注。阻力大小反映路面的压实程度,并在仪表盘中通过绿、黄、橙、红等颜色出来。把我们逼死了,日子就好过了?这应该2016年大多数中小照明企业的自白。铁矿石天量进口,李新创介绍,铁矿石进口占铁矿石贸易量的比重也逐年升高,到了2016年,1-而且,随着市场竞争加剧,卫浴行业朝设计和工艺方面发力。
</p>
实例:发送和接收指令
Networkl //本程序接收一个字符串,
//直到接收到换行字符。
//接收完成后,
//消息会发送回到发送方。
SM0.1 //次扫描时:
16#09, SMB30 //1.初始化自由端口:
// -选择9600波特。
// -选择8位数据位
// -选择无校验
16#B0, SMB87 //2.初始化RCV消息控制字节:
// - RCV已启用。
// -检测消息结束字符
// -检测空闲线消息条件
16#0A, SMB89 //3.将消息结束字符设为
// 十六进制O (进一行)。
LD
MOVB
MOVB
MOVB
MOVW +5, SMW90
MOVB 100, SMB94
ATCH
ATCH
ENI
RCV
INT_0, 23
INT_2, 9
VB100, 0
//4.将空闲线超时设为
// 5 ms。
//5.将大字符数设为
// 100。
//6.将中断0
// 连接到接收完成事件。
//7.将中断2
// 连接到发送完成事件。
//8.启用用户中断。
//9.启用带有VB100处的缓冲区
// 的接收方框。
93
S7-200可编程序控制器系统手册
实例:发送和接收指令
Network 1 //接收完成中断程序:
//1.如果接收状态显示接收结束字符
//则连接一个
// 10 ms定时器,触发发送并返回。
//2.如果接收因其他原因完成,
//则启动新的接收。
SMB86, 16#20
10,SMB34
INT 1,10
LDB=
MOVB
ATCH
CRETI
NOT
RCV
VB100,0
Network 1 //10-ms 定时器中断:
//1.断开定时器中断。
//2.将消息发送返回端口上的用户。
LD SM0.0
DTCH 10
XMT VB100,0
Network 1
LD
RCV
//发送完成中断:
//启用另一个接收。
SM0.0
VB100,0
94
S7-200指令集
第6章
获取端口地址和设置端口地址指令
获取端口地址指令(GPA)读取PORT的CPU 口的站地址,
并将数值放人ADDR的地址中。
设置端口地址指令(SPA)将口的站地址(PORT)设置为ADDR指
定的数值。新地址不能保存。重新上电后,口地址将返回
到原来的地址值(用系统块下载的地址)。
设置ENO=0的错误条件:
- 0006 (间接寻址)
- 0004 (试图在中断程序中执行设置端口地址指令)
SIMflTIC / IEC11311
LflD FBD
(jET.ADDR GET_flC:'C:'F:
EN ENO - EN ENO
HD'D'F: : HD'D'F: PORT
(jET.ADDR SET.flDDR
SIMflTK |
STL (iPfl SPfl flDDR, PORT flDDR, PORT
表6-14 获取端口地址和设置端口地址指令的有效操作数
输入/输出 数据类型 操作数
ADDR BYTE IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC、常数 (常数值仅用于设置端口地址指令。。
PORT BYTE 常数 对于CPU221、CPU222、CPU 224: 0 对于CPU 224XP、CPU 226: 0或1
95
S7-200可编程序控制器系统手册
比较指令
数值比较
比较指令用于比较两个数值:
IN1 = IN2 IN1 >= IN2 IN1 <= IN2
IN1 > IN2 IN1 < IN2 IN1 <> IN2
字节比较操作是无符号的。
整数比较操作是有符号的。
双字比较操作是有符号的。
实数比较操作是有符号的。
对于LAD和FBD:当比较结果为真时,比较指令接通触点
(LAD)或输出(FBD)。
对于STL:当比较结果为真时,比较指令将1载人栈顶,再将
1与栈顶值作“与”或者“或”运算(STL)。
当您使用IEC比较指令时,您可以使用各种数据类型作为输
人。但是,两个输人的数据类型一致。
注意
下列情况是致命错误,并且会导致S7-200立即停止执行用
户程序:
■非法的间接地址(任意比较指令)
■非法的实数(例如:NAN),(实数比较指令)
为了避免这些情况的发生,在执行比较指令之前,要确保合
理使用了指针和存储实数的数值单元。
不管功率流的状态如何,比较指令都会被执行。
SIMHTIC |
STL LDB= HE:= 0B= IN1JN2 IN1JN2 IN1JN2
LDB= LDW= LDD= LDR=
L[:_E:-=: LDW< LDD< L[:_F:-=:
L[:_E::=- LDW> LDD> L[:_F::=-
LDB<> LDW<> LDD<> LDF:<>
LDB<= LDW<= LDD<= L[:_F:-=:=
LDB>= LDW>= LDD>= LDR>=
HE:= flW= flD= HF:=
HE:-=: HD-=: HF:-=:
HE:> FlW> HD> HF:>
flB<> flW<> flD<> HF:<=-
HE:-=:= flW<= HD-=:= HF:-=:=
flB>= FlW>= HD>= HF:>=
0B= 0W= 0D= 0R=
0B< 0W< 0D< 0R<
0B> 0W> 0D> 0R>
0B<> 0W<> 0D<> 0R<>
0B<= 0W<= 0D<= 0R<=
0B>= 0W>= 0D>= 0R>=
表6-15 比较指令的有效操作数
输入/输出 类型 操作数
IN1、IN2 BYTE INT DINT 实型 旧、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC、常数 IW、QW、VW、MW、SMW、SW、LW、T、C、AC、AIW、*VD、 *ld、*AC、常数 ID、QD、VD、MD、SMD、SD、LD、AC、HC、*VD、*LD、*AC、常数 ID、QD、VD、MD、SMD、SD、LD、AC、*VD、*LD、*AC、常数
OUT BOOL I、Q、V、M、SM、S、T、C、L、功率流
96
S7-200指令集
第6章
实例:比较指令
Networkl //调节模拟调节电位计0
//来改变SMB28的数值。
//当SMB28数值低于或等于0时,Q0.0
//Q0.0激活。
//当SMB28数值大于或等于150时,
//Q0.1激活。
//当比较结果为真时,
//状态指示器接通。
LD
LPS
AB<=
LPP
AB>=
Network2
LD
MOVW
MOVD
MOVR
Network3
LD
MOVW
MOVD
MOVR
Network4
I0.0
LD
LPS
AW>
LRD
AD<
LPP
AR>
SMB28,50
Q0.0
SMB28,150
Q0.1
//在V存储器地址中装载较小的数值,
//使比较结果为假并且关闭状态指示器。
10.1
-30000,VW0
-200000000,VD2
1.012E-006,VD6
//在V存储器地址中装载较大的数值,
//使比较结果为真并且点亮状态指示器。
10.2
+30000, VW0
-100000000, VD2
3.141593, VD6
//整数字比较检测VW0>+10000是否为真。
//在程序中使用常数是
//为了显示不同的数据类型。还可
//比较两个存储在可编程存储器
//中的数值,
//例如:VW0 > VW100
10.3
VW0, +10000
Q0.2
-150000000, VD2
Q0.3
VD6,5.001E-006
Q0.4
97
S7-200可编程序控制器系统手册
字符串比较
字符串比较指令比较两个字符串的ASCII码字符:
IN1=IN2 IN1<>IN2
当比较结果为真时,比较指令使触点闭合(LAD)或者输
出接通(FBD),或者对1进行LD, A或O操作,并置人
栈顶(STL)。
注意
下列情况是致命错误,并且会导致S7-200立即停止执行用
户程序:
■非法的间接地址(任意比较指令)
■字符串的长度超过254个字符(字符串比较指令)
■ 一个字符串的起始地址和长度使它不适合所的存储
区(字符串比较指令)
为了避免这些情况的发生,在执行比较指令之前,要确保合
理使用了指针和保存ASCII码字符串的存储区。确保一个保
存ASCII码字符串的缓冲区能够在的存储区完整的
保留。
不管功率流的状态如何,比较指令都会被执行。
SIMHTIC | |EC113ll
LflD IN1 H==+ IN2 FBD
:==s '
==S <>S
SIMHTIC IEC1131 |
LflD FBD
EQ_S - EQ_S
FN Ol IT -
IN1
IN2
EQ_S NE_S
SIMHTIC |
STL LDS= IN1.IN2 flS= IN1JN2 0S= IN1..IN2 LDS<> IN1JN2 flS<> IN1JN2 0S<> IN1.IN2
表6-16 字符串比较指令的有效操作数
输入/输出 类型 操作数
IN1 STRING VB, LB, *VD, *LD, *AC,常数
IN2 STRING VB、LB、*VD、*LD、*AC
OUT BOOL I、Q、V、M、SM、S、T、C、L、功率流
98
S7-200指令集
第6章
转换指令
标准转换指令
数字转换
字节转为整数(BTI)、整数转为字节(ITB)、整数转为双整数
(ITD)、双整数转为整数(DTI)、双整数转为实数(DTR)、BCD
码转为整数(BCDI)和整数转为BCD码卩BCD)。以上指令将输人
值IN转换为的格式并存储到由OUT的输出值存储区
中。例如:您可以将双整数值转为实数值;您也可以在整数
和BCD码格式之间相互转换。
四舍五入和取整
四舍五人指令(ROUND)将一个实数转为一个双整数值,并将
四舍五人的结果存人OUT的变量中。
取整指令(TRUNC)将一个实数转为一个双整数值,并将实数的
整数部分作为结果存人OUT的变量中。
分段
段码指令(SEG)允许您产生一个点阵,用于点亮七段码显示器
的各个段。
表6-17 标准转换指令的有效操作数
输入/输出 数据类型 操作数
IN BYTE WORD、INT DINT REAL IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC、常数 IW、QW、VW、MW、SMW、SW、T、C、LW、AIW、AC、*VD、*LD、 *AC、常数 ID、QD、VD、MD、SMD、SD、LD、HC、AC、*VD、*LD、*AC、常数 ID、QD、VD、MD、SMD、SD、LD、AC、*VD、*LD、*AC、常数
OUT BYTE WORD、INT DINT、 REAL IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC IW、QW、VW、MW、SMW、SW、T、C、LW、AIW、AC、*VD、*LD、 *AC ID、QD、VD、MD、SMD、SD、LD、AC、*VD、*LD、*AC
99
S7-200可编程序控制器系统手册
BCD码转为整数和整数转为BCD码的操作
BCD码转整数指令(BCDI)将一个BCD码IN的值转换成整数值,
并且将结果存人OUT的变量中。IN的有效范围是0到9999
的BCD码。
整数转BCD码指令(旧CD)将输人的整数值IN转换成BCD码,并
且将结果存人OUT的变量中。IN的有效范围是0到9999的
整数。
使ENO=0的错误条件:
■ SM1.6 (无效的BCD码)
■ 0006 (间接寻址)
受影响的SM标志位:
■ SM1.6 (无效的BCD码)
双整数转为实数指令的操作
双整数转实数指令(DTR)将一个32位,有符号整数值IN转换成使ENO=0的错误条件:
一个32位实数,并将结果存人OUT的变量中。 ■ 0006 (间接寻址)
双整数转为整数指令的操作
双整数转整数指令(DTI)将一个双整数值IN转换成一个整数值,
并将结果存人OUT的变量中。
如果所转换的数值太大以致于无法在输出中表示,则溢出标志
位置位并且输出不会改变。
使ENO=0的错误条件:
■ SM1.1 (溢出)
■ 0006 (间接寻址)
受影响的SM标志位:
■ SM1.1 (溢出)
整数转为双整数指令的操作
整数转双整数指令(ITD)将整数值IN转换成双整数值,并且存人使ENO=0的错误条件:
OUT的变量中。符号位扩展到高字节中。 ■ 0006 (间接寻址)
字节转为整数指令的操作
字节转整数指令(BTI)将字节值IN转换成整数值,并且存人 使ENO=0的错误条件:
OUT的变量中。字节是无符号的,因而没有符号位扩展。■ 0006 (间接寻址)
整数转为字节指令的操作
整数转字节指令(ITB)将一个字的值IN转换成一个字节值,并且
存人OUT的变量中。只有0到255中的值被转换。所有其他
值会产生溢出并且输出不会改变。
使ENO=0的错误条件:
■ SM1.1 (溢出)
■ 0006 (间接寻址)
受影响的SM标志位:
■ SM1.1 (溢出)
提示
如果想将一个整数转换成实数,先用整数转双整数指令,再用双整数转实数指令。
<p>
</p>
<p>下一篇:<a href="">S7-200CN6ES7231-0HC22-0XA8定制</p>