镇江西门子(中国)授权总代理商
镇江西门子(中国)授权总代理商
得出的 ASCII 字符数(或长度)就是输出缓冲区的大小,它的值在 3 到 15 个字节或字符
之间。
实数格式多支持 7 位有效数字。尝试显示 7 位以上的有效数字将导致舍入错误。
下图显示了 RTA 指令的格式操作数 (FMT)。通过 ssss 字段分配输出缓冲区的大小。0、
1 或 2 个字节大小无效。输出缓冲区中小数点右侧的位数由 nnn 字段分配。nnn 字段的有
效范围是 0 到 5。如果分配 0 位数到小数点右侧,则转换后的值无小数点。如果 nnn 的
值大于 5 或者分配的输出缓冲区太小以致无法存储转换后的值,西门子PLC代理商S7-400存储卡 ,则使用 ASCII 空格填充
输出缓冲区。c 位使用逗号 (c=1) 还是小数点 (c=0) 作为整数部分与小数部分之间的
分隔符。
下图给出了一个数值作为示例,其格式为使用小数点 (c=0)、小数点右侧有一位
(nnn=001)、缓冲区的大小为六个字节 (ssss=0110)。
ASCII 输出数字格式
正值写入输出缓冲区时不带符号。
负值写入输出缓冲区时带前导负号 (-)。
小数点左侧的前导零会被隐藏,但与小数点相邻的数字除外。
输出字符串中的值为右对齐。
实数:小数点右侧的值被舍入为小数点右侧的位数。
实数:输出字符串的大小必须比小数点右侧的位数多至少三个字节。
输出字符串的长度始终为 8 个字符。输出缓冲区中小数点右侧的位数由 nnn 字段分配。nnn 字段的有效范围是 0 到 5。如果分配 0 位数到小数点右侧,则转换后的值无小数点。
对于 nnn 大于 5 的值,输出为 8 个 ASCII 空格字符组成的字符串。c 位使用逗号
(c=1) 还是小数点 (c=0) 作为整数部分与小数部分之间的分隔符。格式的有效 4 位必
须是零。
下图还给出了值的示例,其格式为:使用小数点 (c = 0),小数点右侧有三位数 (nnn =
011)。OUT 处的值为下一字节地址中存储的字符串的长度。
输出字符串的长度始终为 12 个字符。输出缓冲区中小数点右侧的位数由 nnn 字段。
nnn 字段的有效范围是 0 到 5。如果分配 0 位数到小数点右侧,则该值不显示小数点。对
于 nnn 大于 5 的值,输出为 12 个 ASCII 空格字符组成的字符串。c 位使用逗号
(c=1) 还是小数点 (c=0) 作为整数与小数部分之间的分隔符。格式的高 4 位必须是零。
下图还给出了一个值的示例,其格式为:使用小数点 (c = 0),小数点右侧有四位数 (nnn
= 100)。OUT 处的值为下一字节地址中存储的字符串的长度。
CPU 使用的实数格式多支持 7 位有效数字。尝试显示 7 位以上有效数字会产生舍入错
误。
输出字符串的长度由 ssss 字段。0、1 或 2 个字节大小无效。输出缓冲区中小数点右
侧的位数由 nnn 字段分配。nnn 字段的有效范围是 0 到 5。如果分配 0 位数到小数点右
侧,则该值不显示小数点。如果 nnn 大于 5,或者因分配的输出字符串长度太小而无法存
储转换的值,则会用 ASCII 空格字符填充输出字符串。c 位使用逗号 (c=1) 还是小数
点 (c=0) 作为整数与小数部分之间的分隔符。
下图还给出了一个值的示例,其格式为:小数点 (c = 0),小数点右侧有一位数 (nnn =
001),输出字符串的长度为 6 个字符 (ssss = 0110)。OUT 处的值为下一字节地址中存储
的字符串的长度
.S7-200和S7-300进行PROFIBUS通信
S7-300与S7-200通过EM277进行 PROFIBUS DP通讯,需要在STEP7中进行S7-300站组态,在S7-200系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放在V 存储区,并且S7-300组态EM277从站时设置正确的地址即可。
插入一个S7-300的站:
图8 S7-300组态
选中STEP7的硬件组态窗口中的菜单 Option® Install new GSD(GSD 文件下载:113652)
导入SIEM089D.GSD文件,安装EM277从站配置文件,如下图:
图9 安装GSD
在SIMATIC文件夹中有EM277的GSD文件:
图10 安装GSD
导入GSD文件后,在右侧的设备选择列表中找到EM277从站,PROFIBUS DP®Additional Field Devices®PLC®SIMATIC®EM277,并且根据通讯字节数,选择一种配置,本例选择8字节入/8字节出的方式,如下图:
图11 通信区域组态
根据EM277上的拨位开关设定以上EM277从站的站地址。
图12组态DP通信地址
组态完系统的硬件配置后,将编译下载到S7-300的PLC当中。S7-300的硬件下载完成后,将EM277的拨位开关拨到与以上硬件组 态的设定值一致,在S7-200中编写程序将进行交换的数据存放在VB0-VB15,对应S7-300的PQB0-PQB7和PIB0-PIB7,打开 STEP7中的变量表和STEP7 MicroWin32的状态表进行监控,它们的数据交换结果如下图:
图13 通信数据监控
图14 通信数据监控
注意:VB0-VB7是S7-300写到S7-200的数据,VB8-VB15是S7-300从S7-200读取的值。EM277上拨位开 关的位置一定要和S7-300中组态的地址值一致。如果使用的S7-200通信区域不从VB0开始,则需要设置地址偏移,在S7-300硬件组态中双击 EM277,修改数值0为实际使用的数值即可,如下图所示:
图15 地址区域偏移设置