全国服务热线: 15821971992

西门子数字量模块6ES7222-1BF22-0XA8

发布日期 :2023-07-19 17:06发布IP:116.224.103.5编号:11991544
品牌:
西门子
型号:
模块
产地:
德国
分 类
负荷开关
单 价
电议
有效期至
长期有效
咨询电话
15821971992
手机
15821971992
Email
2724917714@qq.com
让卖家联系我
详细介绍

要使用plcSIM调试之前,先要进行PG/PC设置。打开控制面板,在Set PG/PC Interface中将接口参数设为None。
打开STEP软件,在SIMATIC Manager中单击工具栏上的“打开/关闭仿真器”按钮来启动PLCSIM。
在PLCSIM中可以添加输入变量、输出变量、工作存储区、定时器、计数器、显示变量、显示一个字节、显示堆栈、显示累加器、地址寄存器和状态字、显示块寄存器几个按钮,单击就会出现要监视、修改的变量名称。
仿真前要先把要仿真的程序下载到PLCSIM中。
设试的时候按照你的设想设置输入变量、输出变量、工作存储区、定时器、计数器等的状态来完成对程序的检测。

说明:
以下描述了在STEP 7 MicroWIN中可能的一种间接寻址使用.
例子中包含了OB1,一个数据块和一个状态表.


OB1包含4段程序。

图1:在SFC功能块中的4段程序

注意第2段程序:
*AC1 中的 (*)星号意味着正使用AC1所指向的地址内容,而并非AC1本身的值

另一部分是数据块.


图2:需要一个状态表用于测试和监控.

图3:下载程序到控制器中,然后打开状态表,点击 "Table Status" 观察变化.

首先保持监控当前的状态,可以看到VB200 到VB210 的值为1-10.而VB 220 之后全为空白.

当I0.0 为1时,这两点将被创建.
当I0.1为1时,从VB200 开始的连续前4个字节将被传送到VB220-VB223 中.
在第3段程序中将I0.0 置0可以分别增加1个地址字节,通过触发I0.2的上升沿可以增加多个地址字节.
在第4段程序中将I0.0 置0可以分别减少1个地址字节,通过触发I0.3的上升沿可以减少多个地址字节.

从入口条目为1109582.的"S7-200自动化系统" 手册中可以找到关于该主题的进一步信息,另外通过在线帮助输入"直接和间接寻址"也是非常有用的.

重要事项!
该项目/例子是免费的,任何用户均可以自由使用,拷贝和转发,因此该项目的所有者并没有责任承担关于该软件功能和兼容性问题,用户自己将承担相关风险,另外由于软件是免费的,因而并没有关于错误纠正和热线支持的相关授权和保证。

BCD码(Binary-Coded Decimal?6?0)是二进制编码的十进制数的缩写,BCD码用4位二进制数表示一位十进制数。BCD码各位的数值范围为2#0000~2#1001,对应于十进制数0~9。BCD码不能使用十六进制的A~F(2#1010~2#1111)这6个数字。BCD码本质上是十进制数,因此相邻两位逢十进一。
BCD码的*高位二进制数是符号位,负数的符号位为1,正数为0。16位BCD码的范围为–999~+999。
下图的拨码开关将显示的数字转换为4位二进制数。plc用12个数字量输入点读取的是3位BCD码,它的值为2#1000 0010 1001,即十六进制数16#829。

BCD码没有单独的表示方法,而是借用了十六进制的表示方法,因此二者很容易混淆。
下图是S7-300/400的BCD码和整数的相互转换指令,可以看到在指令中BCD码均用十六进制的形式表示。

在程序中,怎么知道一个数字是BCD码还是十六进制数呢?
1)看数据的来源和用途。BCD码一般用于输入和输出,例如来自拨码开关的数据是BCD码,送给显示电梯楼层的译码器芯片的是BCD码。
2)看手册的规定,例如数据类型DATE_AND_TIME中的日期和时间值是BCD码,计数器的预设值PV和当前计数值CV_BCD为BCD码。
怎样监视BCD码?
在变量表和程序状态监控中,用十六进制格式监视BCD码。
怎样输入BCD码?
从上图可以看出,BCD码用十六进制格式输入,其*高位(符号位)为16#F(2#1111)。BCD码的低3位各位只能是0~9,如果是16#A~16#F则会出错。
计数器的预设值PV是0~999的BCD码,可以用格式为C#的常数(C#1~C#999)作为计数器的预设值。
下图用MW42提供计数器的预设值PV,如果用MOVE指令将十进制数348(对应的十六进制数为16#15C)传送给MW42,进入RUN模式时,操作系统将它转换为BCD码时出错(16#15C不是BCD码),不能切换到RUN模式。
输入预设值348时,应改为将C#348传送给MW42,它会自动地变为W#16#348,当然也可以直接输入16#348。没有必要用I_BCD指令将348转换为BCD码W#16#348后,再传送给MW42。




在看手册时说BCD码和16进制都可以用16#表示如果现在装载一个数
L 16#296 如果是BCD码表示十进制296
如果是十六进制表示十进制663
系统是怎样区分那个数是BCD码还是十六进制的。

1. BCD 码是用2进制表示的十进制数,如果从*右端每4位转换成16进制数,则BCD 码也可以表示成16进制,例如:
16#123 , 转换成二进制应该是 2#0000 0001 0010 0011
2. 系统是怎样区分那个数是BCD码还是十六进制的。
这取决于使用的指令。例如: STEP7 中S5 定时器中的设定值,就是BCD数,而不是16进制数。
指令的规定与设计在*初一旦被定下来之后,就不能再修改。例如同样是定时器, 在GE 90-30 的PLC 中,它的设定值就是10进制数,而不是16进制数。
3 . 在每一个指令中都有使用的数据类型的规定。在那里,你就知道该使用16进制数还是BCD码了, 先列表如下:
WORD 可以是2进制数,或者16进制数,或者BCD码。
DWORD 可以是2进制数,或者16进制数,或者10进制数。
然而,
INT , DINT 只能是10进制数或者16进制数。
参考出处:
STEP7 中的帮助,在索引项的"输入要查找的关键字"中输入: INT
PLC本身是不用区分的,我觉得在通讯的时候比较有用到;比如上位机采集200的时间的时候,200提供的是BCD码的时间;而上位机跟200对时的时候也需要给200BCD码的时间。主要还是编程的时候,处于省时省力的考虑吧。



相关分类
推荐产品
信息搜索
 
浔之漫智控技术(上海)有限公司
  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 电话:15821971992
  • 邮件:2724917714@qq.com
  • 手机:15821971992
  • 联系人:聂聪