电动机功率 | 5kW | 外形尺寸 | 2mm |
---|---|---|---|
重量 | 2kg |
西门子S7-1200 控制器是我们新推出产品的核心,可实现简单却高度精确的自动化任务。西门子S7-1200 控制器实现了模块化和紧凑型设计,功能强大、投资安全并且*适合各种应用。可扩展性强、灵活度高的设计,可实现标准工业通信的通信接口以及一整套强大的集成技术功能,使该控制器成为完整、全面的自动化解决方案的重要组成部分。
![]() |
参考价 | ¥522 |
订货量 | 1 |
更新时间:2019-04-01 10:01:12浏览次数:476
联系我们时请说明是化工仪器网上看到的信息,谢谢!
广西西门子S7-1200PLC代理商(价格实惠)
接收指令支持几种消息起始条件。包含一个停顿或者一个空闲线检测的起始条件,通过在将字 符放到消息缓冲区之前,用一个字符的起始来强制接收消息功能和消息的起始相同步,来避免以上 问题。
接收指令支持几种起始条件:
对于二进制协议、没有特定起始字符的协议或者了消息之间小时间间隔的协议,您可以 使用空闲线检测作为起始条件。
图6--11 用空闲时间检测来启动接收指令
空闲线时间应该总是大于在波特率下传输一个字符(包括起始位、数据位、校验位和停止
位)的时间。空闲线时间的典型值为在波特率下传输三个字符的时间。
通常,对于消息之间小时间间隔并且消息的首字符是特定设备的站号或其他消息的协议,您可以使用这种类型的起始条件。这种方式尤其适用于在通讯连接上有多个设备的情况。 在这种情况下,只有当接收到的消息的起始字符为特定的站号或者设备时,接收指令才会触发 一个中断。
设 置 : il = 1,sc = 1,bk = 0,SMW90/SMW190 > 0, SMB88/SMB188 = 起始字符
通常,只有当通讯协议需要时,才使用断点检测作为起始条件。
设置: il = 0,sc = 0,bk = 1,SMW90/SMW190 = 无关,
SMB88/SMB188 = 无 关
设置: il = 0,sc = 1,bk = 1,SMW90/SMW190 = 无关,
SMB88/SMB188 = 起始字符
设 置 : il = 1,sc = 0,bk = 0,SMW90/SMW190 = 0,SMB88/SMB188 = 无 关用任意字符开始一条消息允许使用消息定时器,来监控消息接收是否超时。这对于自由端口协
议的主站是非常有用的,并且当在时间内,没有来自从站的任何响应的情况,也需要采取 超时处理。由于空闲线时间被设置为0,当接收指令执行时,消息定时器启动。如果没有其他终止条件满足,消息定时器超时会结束接收消息功能。
设 置 : il = 1,sc = 0,bk = 0,SMW90/SMW190 = 0,SMB88/SMB188 = 无 关
c/m = 1,tmr = 1,SMW92 = 消息超时(毫秒)
接收指令支持几种结束消息的方式。结束消息的方式可以是以下一种或者几种的组合:
通常,对于所有消息都使用同一字符作为结束的ASCII码协议,您可以使用结束字符检测。您 可以使用结束字符检测与字符间定时器、消息定时器或者大字符计数相结合来结束一条
消息。
设置: ec = 1,SMB89/SMB189 = 结束字符
当协议没有特定的消息结束字符时,您可以用字符间定时器来结束一条消息。由于定时器总是 包含接收一个完整字符(包括起始位、数据位、校验位和停止位)的时间,因而该时间值应设置为大于在波特率下传输一个字符的时间。
您可以使用字符间定时器与结束字符检测或者大字符计数相结合,来结束一条消息。
图6--12 使用字符间定时器来结束接收指令
通常,当通讯设备不能保障字符中间没有时间间隔或者使用调制解调器通讯时,您可以使用消 息定时器。对于调制解调器方式,您可以用消息定时器一个从消息开始算起,接收消息允 许的大时间。消息定时器的典型值是在当前波特率下,接收到长消息所需时间值的大约
1.5倍。
可以使用消息定时器与结束字符检测或者大字符计数相结合,来结束一条消息。 设置: c/m = 1,tmr = 1,SMW92/SMW192 = 超时(毫秒)
图6--13 使用消息定时器来结束接收指令
对于消息的长度已知并且恒定的协议,可以使用大字符计数来结束消息。大字符计数总是 与结束字符检测、字符间定时器或者消息定时器结合在一起使用。
指令来终止接收消息功能。这样可以立即终止接收消息功能。
使用字符中断控制接收数据
为了*适应对各种协议的支持,您也可以使用字符中断控制的方式接收数据。接收每个字符时都会 产生中断。在执行与接收字符事件相连的中断程序之前,接收到的字符存入SMB2中,校验状态(如果 使能的话)存入SM3.0。SMB2是自由端口接收字符缓冲区。在自由端口模式下,每一个接收到的字符 都会存放到这一位置,便于用户程序访问。SMB3用于自由端口模式。它包含一个校验错误标志位。 当接收字符的同时检测到校验错误时,该位被置位。该字节的其他位被保留。利用校验位去丢弃消息 或向该消息发送否定应答。
在较高的波特率下(38.4K到115.2K)使用字符中断时,中断之间的时间间隔会非常短。例如:在38.4 时为260微秒;在57.6K时为173微秒;在115.2K时为86微秒。确保您的中断程序足够短,不会丢失字 符或者使用接收指令。
提示
SMB2和SMB3共享端口0和端口1。当接收端口0上的字符导致执行附加在那个事件(中断事件8)的中断程序时,SMB2包含端口0上接收的字符,而SMB3包含该字符的奇偶校验状态。当接收端口1 上的字符导致执行附加在那个事件(中断事件25)的中断程序时,SMB2包含端口1上接收的字符,而
SMB3包含该字符的奇偶校验状态。
实例:发送和接收指令
实例:发送和接收指令
获取端口地址和设置端口地址指令
获取端口地址指令(GPA)读取PORT的CPU口的站地址, 并将数值放入ADDR的地址中。
设置端口地址指令(SPA)将口的站地址(PORT)设置为ADDR指 定的数值。新地址不能保存。重新上电后,口地址将返回 到原来的地址值(用系统块下载的地址)。
设置ENO=0的错误条件:
表6--14 获取端口地址和设置端口地址指令的有效操作数
输入/输出 | 数据类型 | 操作数 |
ADDR | BYTE | IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC、常数(常数值仅用于设置端口地址指令。) |
PORT | BYTE | 常数 对于CPU 221、CPU 222、CPU 224: 0对于CPU 224XP、CPU 226: 0或1 |
比较指令
数值比较
比较指令用于比较两个数值:
IN1 = IN2 IN1 >= IN2 IN1 <= IN2 IN1 > IN2 IN1 < IN2 IN1 <> IN2
字节比较操作是无符号的。整数比较操作是有符号的。双字比较操作是有符号的。实数比较操作是有符号的。
对于LAD和FBD:当比较结果为真时,比较指令接通触点
(LAD)或输出(FBD)。
对于STL:当比较结果为真时,比较指令将1载入栈顶,再将
1与栈顶值作“与”或者“或”运算(STL)。
当您使用IEC比较指令时,您可以使用各种数据类型作为输 入。但是,两个输入的数据类型必须*。
注意
下列情况是致命错误,并且会导致S7- 200立即停止执行用
户程序:
为了避免这些情况的发生,在执行比较指令之前,要确保合 理使用了指针和存储实数的数值单元。
不管功率流的状态如何,比较指令都会被执行。
表6--15 比较指令的有效操作数
实例:比较指令
字符串比较
字符串比较指令比较两个字符串的ASCII码字符:
IN1=IN2 IN1<>IN2
当比较结果为真时,比较指令使触点闭合(LAD)或者输出接通(FBD),或者对1 进行 LD, A 或 O 操作,并置入栈顶(STL)。
注意
下列情况是致命错误,并且会导致S7- 200立即停止执行用
户程序:
为了避免这些情况的发生,在执行比较指令之前,要确保合 理使用了指针和保存ASCII码字符串的存储区。确保一个保存ASCII码字符串的缓冲区能够在的存储区完整的
保留。
不管功率流的状态如何,比较指令都会被执行。
表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、功率流 |
转换指令
标准转换指令
数字转换
字节转为整数(BTI)、整数转为字节(ITB)、整数转为双整数
(ITD)、双整数转为整数(DTI)、双整数转为实数(DTR)、BCD 码转为整数(BCDI)和整数转为BCD码(IBCD)。以上指令将输入 值IN转换为的格式并存储到由OUT的输出值存储区中。例如:您可以将双整数值转为实数值; 您也可以在整数和BCD码格式之间相互转换。
四舍五入和取整
四舍五入指令(ROUND)将一个实数转为一个双整数值,并将 四舍五入的结果存入OUT的变量中。
取整指令(TRUNC)将一个实数转为一个双整数值,并将实数的整数部分作为结果存入OUT的变量中。
分段
段码指令(SEG)允许您产生一个点阵,用于点亮七段码显示器的各个段。
表6--17 标准转换指令的有效操作数
输入/输出 | 数据类型 | 操作数 |
IN | BYTE | IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC、常数 |
WORD、INT | IW、QW、VW、MW、SMW、SW、T、C、LW、AIW、AC、*VD、*LD、*AC、常数 | |
DINT | ID、QD、VD、MD、SMD、SD、LD、HC、AC、*VD、*LD、*AC、常数 | |
REAL | ID、QD、VD、MD、SMD、SD、LD、AC、*VD、*LD、*AC、常数 | |
OUT | BYTEWORD、INT DINT、REAL | IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*ACIW、QW、VW、MW、SMW、SW、T、C、LW、AIW、AC、*VD、*LD、 *AC ID、QD、VD、MD、SMD、SD、LD、AC、*VD、*LD、*AC |
提示
如果想将一个整数转换成实数,先用整数转双整数指令,再用双整数转实数指令。
四舍五入取整和取整指令的操作
四舍五入取整指令(ROUND)将实数值IN转换成双整数值,并且 存入OUT的变量中。如果小数部分大于等于0.5,则数字向上取整。
取整指令(TRUNC)将一个实数值IN转换成一个双整数,并且存 入OUT的变量中。只有实数的整数部分被转换,小数部分 舍去。
使ENO=0的错误条件:
受影响的SM标志位:
如果所转换的不是一个有效的实数,或者其数值太大以致于无法在输出中表示,则溢出标志位置位并 且输出不会改变。
实例:标准转换指令
段码指令的操作
要点亮七段码显示器中的段,可以使用段码指令。段码指令将IN中的字符(字节)转换生成一个点
阵并存入OUT的变量中。
ASCII码转换指令
有效的ASCII码字符为十六进制的30到39和41到46。
在ASCII码和十六进制数之间相互转换
ASCII码转十六进制数指令(ATH)将一个长度为LEN从IN开始的
ASCII码字符串转换成从OUT开始的十六进制数。十六进制数转ASCII码指令(HTA)将从输入字节IN开始的十六进制数,转换 成从OUT开始的ASCII码字符串。被转换的十六进制数的位数由长度LEN给出。
可转换的ASCII字符或十六进制数字的大数目是255。有效
ASCII输入
有效的ASCII码输入字符是0到9的十六进制数代码值30到39, 和大写字符A到F的十六进制数代码值41到46这些字母数字 字符。
使ENO=0的错误条件:
受影响的SM标志位:
将数值转为ASCII码
整数转ASCII码(ITA)、双整数转ASCII码(DTA)和实数转ASCII 码(RTA)指令,分别将整数、双整数或实数值转换成ASCII码字符。
广西西门子S7-1200PLC代理商(价格实惠)