您现在所在的是:

台达论坛

回帖:64个,阅读:4012 [上一页] [1] [2] [3] [4] [5] [6] [7] [下一页]
50
平安JQ1U
文章数:119
年度积分:50
历史总积分:50
品牌积分(台达):77
注册时间:2019/7/2
发站内信
发表于:2019/8/20 22:26:48
#60楼
以下是引用1211111152019/8/13 22:17:46的发言:
0110 0000 0002 04 4000  0000 E66F      这个显示2
0110 0000 0002 04 4040  0000 E7BB      这个显示3
0110 0000 0002 04 4426  8000 6754      这个显示666
你用程序实现这三个数每三秒切换显示,你就能解决你的问题了
前面都不用动,就是替换6个寄存器的值,多试试,肯定可以的。
[此贴子已经被作者于2019/8/13 22:19:39编辑过]
附件 22.jpg

附件 23.jpg

附件 24.jpg

附件 25.jpg

附件 26.jpg



121111115;您好老师,首先我非常感谢您的指教。谢谢您。
非常惭愧的告诉您,
没能按您说的用传送指令达到您的要求。继续研究学习。
经过多天的学习和实验,最后增加了DAND指令和DEDIV指令,可算是把
DFLT-D80-D100的数值(H43B90000)分成43,B9,00,00后分别传送到D17-D20,
D21-D22不用管它,自动变换。
呵呵。好难啊。对于我来说,那手册就是天书一样啊,呵呵。
还有就是调节模拟量数值,表不能时时地显示数值,必须得点停止和运行后才能
正常显示数值。
50
平安JQ1U
文章数:119
年度积分:50
历史总积分:50
品牌积分(台达):77
注册时间:2019/7/2
发站内信
发表于:2019/8/20 22:30:42
#61楼
我知道以上程序肯定有很多缺陷或者不足,
还请老师有空时给看看,指导指导。
再次真诚的谢谢您
5476
121111115
文章数:1400
年度积分:559
历史总积分:5476
品牌积分(台达):45
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2019/8/21 21:36:42
#62楼
以下是引用平安JQ1U2019/8/20 22:26:48的发言:
以下是引用1211111152019/8/13 22:17:46的发言:
0110 0000 0002 04 4000  0000 E66F      这个显示2
0110 0000 0002 04 4040  0000 E7BB      这个显示3
0110 0000 0002 04 4426  8000 6754      这个显示666
你用程序实现这三个数每三秒切换显示,你就能解决你的问题了
前面都不用动,就是替换6个寄存器的值,多试试,肯定可以的。
[此贴子已经被作者于2019/8/13 22:19:39编辑过]
附件 22.jpg

附件 23.jpg

附件 24.jpg

附件 25.jpg

附件 26.jpg



121111115;您好老师,首先我非常感谢您的指教。谢谢您。
非常惭愧的告诉您,
没能按您说的用传送指令达到您的要求。继续研究学习。
经过多天的学习和实验,最后增加了DAND指令和DEDIV指令,可算是把
DFLT-D80-D100的数值(H43B90000)分成43,B9,00,00后分别传送到D17-D20,
D21-D22不用管它,自动变换。
呵呵。好难啊。对于我来说,那手册就是天书一样啊,呵呵。
还有就是调节模拟量数值,表不能时时地显示数值,必须得点停止和运行后才能
正常显示数值。
可以呀,还知道用DAND分离高地位数据。你是个人才,加油。
其实你兜了一个大弯子,研究透存储结构这个很好传送的,D100里面存着43B9 0000事实上他是占用了D100和D101两个寄存器,一般都是D100里是0000   D101里面是43B9或者B943(依据大小端格式略有不同),台达传送有位传送这个指令,就是A寄存器的第几位开始的B位传到目标寄存器的C位开始的存储区域,比如你把D101里的第0位开始的8位传到D18的第0位开始的区域,你就完成了B9传到D18这个操作,同理,把D101的第8位开始的8位传送到D17的第0位开始的区域,你就完成了43传到D17这个操做。
你用FF00或者00FF用按位与/或来分离高地位也是一种方法,能理解这个,存储那部分内容对你没啥难度的。
重启刷新显示数据这个问题很好解决呀,首先你要确定是采集那部分有问题还是和表通讯这块有问题,然后用中间变量周期触发就可以了。
50
平安JQ1U
文章数:119
年度积分:50
历史总积分:50
品牌积分(台达):77
注册时间:2019/7/2
发站内信
发表于:2019/8/22 15:30:53
#63楼
以下是引用1211111152019/8/21 21:36:42的发言:
以下是引用平安JQ1U2019/8/20 22:26:48的发言:
以下是引用1211111152019/8/13 22:17:46的发言:
0110 0000 0002 04 4000  0000 E66F      这个显示2
0110 0000 0002 04 4040  0000 E7BB      这个显示3
0110 0000 0002 04 4426  8000 6754      这个显示666
你用程序实现这三个数每三秒切换显示,你就能解决你的问题了
前面都不用动,就是替换6个寄存器的值,多试试,肯定可以的。
[此贴子已经被作者于2019/8/13 22:19:39编辑过]
附件 22.jpg

附件 23.jpg

附件 24.jpg

附件 25.jpg

附件 26.jpg



121111115;您好老师,首先我非常感谢您的指教。谢谢您。
非常惭愧的告诉您,
没能按您说的用传送指令达到您的要求。继续研究学习。
经过多天的学习和实验,最后增加了DAND指令和DEDIV指令,可算是把
DFLT-D80-D100的数值(H43B90000)分成43,B9,00,00后分别传送到D17-D20,
D21-D22不用管它,自动变换。
呵呵。好难啊。对于我来说,那手册就是天书一样啊,呵呵。
还有就是调节模拟量数值,表不能时时地显示数值,必须得点停止和运行后才能
正常显示数值。
可以呀,还知道用DAND分离高地位数据。你是个人才,加油。
其实你兜了一个大弯子,研究透存储结构这个很好传送的,D100里面存着43B9 0000事实上他是占用了D100和D101两个寄存器,一般都是D100里是0000   D101里面是43B9或者B943(依据大小端格式略有不同),台达传送有位传送这个指令,就是A寄存器的第几位开始的B位传到目标寄存器的C位开始的存储区域,比如你把D101里的第0位开始的8位传到D18的第0位开始的区域,你就完成了B9传到D18这个操作,同理,把D101的第8位开始的8位传送到D17的第0位开始的区域,你就完成了43传到D17这个操做。
你用FF00或者00FF用按位与/或来分离高地位也是一种方法,能理解这个,存储那部分内容对你没啥难度的。
重启刷新显示数据这个问题很好解决呀,首先你要确定是采集那部分有问题还是和表通讯这块有问题,然后用中间变量周期触发就可以了。
老师好,您说的移位传送我再研究研究,仪表可以时时显示了,您说的变量周期是什么意思啊?
此帖发自手机工控论坛
50
平安JQ1U
文章数:119
年度积分:50
历史总积分:50
品牌积分(台达):77
注册时间:2019/7/2
发站内信
发表于:2019/10/7 18:51:59
#64楼
121111115;您好老师,您最近很忙么?我最近很忙,很久没来了,和您汇报,我以经用RS指令和MODRW指令成功和我那块破表通讯了,
后来又研究了S7-200,也能正常和仪表通讯了,呵呵,用串口软件很方便的能看见发送的数据。再次谢谢您

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005