xiaotian2005
级别: 探索解密
精华主题: 0
发帖数量: 8 个
工控威望: 126 点
下载积分: 581 分
在线时间: 14(小时)
注册时间: 2014-01-07
最后登录: 2016-04-07
查看xiaotian2005的 主题 / 回贴
楼主  发表于: 2015-10-27 16:49
        在程序中用到一个定时器,设置值取数据区DM0的值,可是DM0的值从上位机送来的是10进制数据。
例如:数据为1-9时,定时器可以工作
数据为10-16时 ,定时器错误
数据为16-25时,定时器又可以工作 ,以此类推……

我知道这肯定是数据类型不对造成的!定时器需要的数据类型是BCD码,可是如何转换?还是数据从上位机传送过来的时候就必须先转换成BCD呢!

如图所示:

[attachment=140843]
hlq_0815
人生的成功不在于拿到一副好牌,而是怎样将坏牌打好。
级别: 论坛版主

精华主题: 2 篇
发帖数量: 1842 个
工控威望: 4490 点
下载积分: 7581 分
在线时间: 1319(小时)
注册时间: 2008-07-03
最后登录: 2024-11-23
查看hlq_0815的 主题 / 回贴
1楼  发表于: 2015-10-28 12:53
上位机的D0的数据类型设为16bit BCD
[ 此帖被hlq_0815在2015-10-28 14:59重新编辑 ]
人生的成功不在于拿到一副好牌,而是怎样将坏牌打好。
oyangsiyuan
学有止境,躺平的工控人!
级别: 略有小成
精华主题: 0
发帖数量: 124 个
工控威望: 265 点
下载积分: 7585 分
在线时间: 132(小时)
注册时间: 2012-09-09
最后登录: 2024-10-30
查看oyangsiyuan的 主题 / 回贴
2楼  发表于: 2015-11-24 23:26
设定值可以是常数,也可以是通道号。当是常数时,必须是BCD码,前面要加#;是通道号时,该通道内的数字也须是BCD码。
欧姆龙PLC定时器时间设定范围为0~9999.9秒。
要设定3秒,直接打#30。
天朝P民
ysz0377
小胜靠智,大胜靠德,厚积薄发,气势如虹!!
级别: 家园常客

精华主题: 0
发帖数量: 531 个
工控威望: 763 点
下载积分: 5134 分
在线时间: 360(小时)
注册时间: 2009-08-09
最后登录: 2024-11-20
查看ysz0377的 主题 / 回贴
3楼  发表于: 2015-11-29 12:36
版主正解。
小胜靠智,大胜靠德,厚积薄发,气势如虹!!
刘永
不知道谁是高手,我还在学习
级别: 家园常客
精华主题: 0
发帖数量: 392 个
工控威望: 560 点
下载积分: 2065 分
在线时间: 513(小时)
注册时间: 2010-10-02
最后登录: 2024-11-21
查看刘永的 主题 / 回贴
4楼  发表于: 2015-11-29 13:57
如果上位机是触摸屏,DM格式是16进制4位BCD码。
空气分离、PSA制氧机、制氮机 制造、维修

QQ980347789
ljdplc
级别: 探索解密
精华主题: 0
发帖数量: 9 个
工控威望: 109 点
下载积分: 621 分
在线时间: 12(小时)
注册时间: 2010-10-18
最后登录: 2020-05-28
查看ljdplc的 主题 / 回贴
5楼  发表于: 2015-12-13 11:29
你那从上位机传过来的数据也是bcd s数吗