设为首页收藏本站积分获取及使用技巧附件上传须知[求助-西门子PLC300/400]关于300PLC在OB100中初始化参数

追梦工控论坛|工控论坛-专业的Intouch论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8197条微博

动态微博

查看: 5128|回复: 2

[求助-西门子PLC300/400]关于300PLC在OB100中初始化参数

[复制链接]

升级  29%

该用户从未签到

发表于 2014-3-11 22:17:31 | 显示全部楼层 |阅读模式

上传分享工控资料得追梦点,下载积分获取办法点击进入 ☆追梦点充值入口
发帖回帖赚金币兑换下载积分。上传附件须知点击进入

×

马上注册,结交更多工控达人,分享经验,让你轻松玩转追梦工控论坛。

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
大家好!
由于我想在PLC掉电或下次启动时将当前位置信息赋给DB数据块,我想在OB100中去实现,但没成功,我想PLC调用OB100时,PLC还在初始化,没有启动,现场数据无法读到PLC中,所以失败。不知道是不?
为了能在PLC启动后立刻将现场数据给DB数据,我在OB100中设置了一个中继M0.0,通过常闭实现自启动,就是置位M0.0,在OB1中通过M0.0的上升沿将现场的数据给DB数据块。在以前这样是要你管好好的,但最近发现不能实现这个功能了,PLC启动后DB数据块的数据是很大的数,都超设置的数据类型了,这是什么原因?有更好的办法吗?谢谢!!</p>
        问题补充:
大家好!
我是在OB100中使用M0.0常闭来置位M0.0的,在OB1中通过M0.0的上升沿出发MOV来给DB赋值的,但出现DB数据不能成功赋值。我想可能的原因是MOV的输入IN数据在M0.0上升沿到来时,它的数据还没有通过DP总线采集回来的缘故导致的,我是通过MOV将总线上绝对编码器的当前值给DB,可能PLC启动后,编码器数值还没有传到PLC,而M0.0上升沿已过了,所以赋给DB是个随机数。大家认为哪?
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
5130°C
2
  • 大飞机
  • 朗青
过: 他们

升级  37%

该用户从未签到

发表于 2014-3-11 23:45:42 | 显示全部楼层
1、在OB100中进行初始化是最佳的选择。
2、我想PLC调用OB100时,PLC还在初始化,没有启动,现场数据无法读到PLC中,所以失败。不知道是不?
你的担心是多余的。当运行OB100,一定可以完成在B100中的所有指令。将将当前位置信息赋给DB数据块是没有问题的。
见详见《组织块使用说明》下载:
http://218.93.112.166/ec/C23/dl/xxzl/%E7%BB%84%E7%BB%87%E5%9D%97%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.pdf
3、PLC启动后DB数据块的数据是很大的数,都超设置的数据类型了,这是什么原因?
这是PLC启动后,这个DB数据块被赋予了新的的值,是你的程序问题。
4、有更好的办法吗?
在OB100中进行初始化是最佳的选择。
                                                                                                                                                                                                                                                              
                                                        

升级  36%

该用户从未签到

发表于 2014-3-12 00:09:21 | 显示全部楼层
正如你所说,在系统进行初始化时(执行OB100),OB1还没有执行,所以读不到实际值的。
初始化的程序都是在OB100中编写的,这是没有问题的。但你使用DB块的话,利用DB块变量断电保持的功能。至于你说的数值大,检查你的程序是不是在其他地方对变量赋值了。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            上升沿需要检测信号m0.0从1的变化过程,ob100是上电优先于其他的所有ob执行的,所以你的ob是检测不到信号m0.0为1的状态的,所以也就不能用上升沿了。你可以在ob100中给db赋值初始值0.
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            OB100是掉电保持组织块这个没有错,同时DB在默认状态下也具有掉电保持的数据块。
所谓初始化数据可以理解为两层含义,一个是各种数据的初始值;另一种是系统工作后的数据运算值,因为在实际PLC运行时,有些数据需要具备数据保持的功能。
OB100的功能是上电初始化功能,就是cpu在投运过程中将需要的数据进行“归零”初始化。且只能执行一次。
根据你的描述初始化失败可能的原因:
1)初始化数据是否正确。
2)初始化组织块OB100是否完整下载到cpu。
3)数据块你是否将掉电保持给勾选了。(这个与初始化组织块OB100无关)
关于数值超范围,这个与数据初始化没有关系,与你具体程序有关。检查该数据的运算过程,可以找到问题的所在。
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

请珍惜自己的ID,严禁发布垃圾水贴,诸如adsf......顶......纯表情......多次重复回帖刷积分......轻则删帖警告,重则封禁!★请分享资料、经验或者赞助论坛,贡献一份力量★

关闭

最新活动上一条 /1 下一条

小黑屋|手机版|追梦工控论坛|工控论坛-专业的Intouch论坛 ( 皖ICP备10012005号 )|网站地图

GMT+8, 2025-5-6 21:39 , Processed in 0.201530 second(s), 21 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

快速回复 返回顶部 返回列表