您现在所在的是:

台达论坛

回帖:64个,阅读:4012 [上一页] [1] [2] [3] [4] [5] [6] [7] [下一页]
5476
121111115
文章数:1400
年度积分:559
历史总积分:5476
品牌积分(台达):45
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2019/8/3 9:08:39
#50楼
以下是引用平安JQ1U2019/8/1 17:53:10的发言:
路过的老师们,你们好,是我的问题特别简单还是说的不清楚?我是新新手,恳请老师们指点,谢谢了。
三百多人来过,怎么看的人多,说的人少呢?都说说呗,像你们学习。
121111115老师,这几天很忙么,怎么不来了呢?
这几天出差了
5476
121111115
文章数:1400
年度积分:559
历史总积分:5476
品牌积分(台达):45
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2019/8/3 9:17:30
#51楼
以下是引用平安JQ1U2019/7/29 18:05:39的发言:
以下是引用平安JQ1U2019/7/29 9:10:22的发言:
以下是引用1211111152019/7/29 9:04:58的发言:
以下是引用平安JQ1U2019/7/26 21:12:31的发言:
老师,是把这10个数字放入D17-D20么?怎么弄?
把D100传送到D17即可。用DMOVE
好的老师,我再试试
附件 1.jpg

附件 2.jpg

附件 3.jpg

附件 4.jpg

附件 5.jpg


你好老师,您看看,哪不对?.没找到台达DMOVE指令,
我查得此指令是32位传送指令,
我用DMOV指令,对不对?把D100传入D17,表显示00010。
后把模拟量输入拆除,重新上电RUN,表还是显示000.10。
不随模拟量变化而变化。
有个问题老师,1,把D100传入D17后,那原来MOV H3F D17的数据呢,覆盖了?
2.D21和D22的CRC16会变化么,因为之前输入的是HFE和H53,是固定的值啊
每修改一次D17到D20的数据,就得计算一次CRC16,这个CRC16是校验位,你要显示的每一个数字的校验位都是不一样的,如果只修改D17到D20的值,不修改CRC16的话你这条指令就是错的,表是不识别和解析的。所以你这个破表麻烦就麻烦在这。
按照这个流程编写吧,你定时给D17-D20修改数据,修改完后计算整体的CRC16(计算这个的时候要确保D17-D20不能改变),然后再触发RS指令发送,发送完成后在进行修改D17-D20的数据,然后在计算CRC16,然后这么循环下去。
5476
121111115
文章数:1400
年度积分:559
历史总积分:5476
品牌积分(台达):45
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2019/8/3 9:33:33
#52楼
还记得之前给你指令的时候D21和D22的值是不一样的吗?显示50的时候是一个值,显示1的时候是另一个值,你要显示的数不一样这个CRC16也是不一样的,所以给D17-D20传送完数据之后,就得断开D17-D20传送的使能,确保计算CRC16的时候D17-D20的数据不发生变化(这之前不能用m1000了,不然这个数一直变化CRC永远算不对的),之后再计算CRC16,把CRC16传送到D21-D22,现在你这条指令是正确的,然后触发RS发送,发送完成后在去给D17-D20传模拟量,传完断开使能,计算CRC16······这么循环着进行的。
50
平安JQ1U
文章数:119
年度积分:50
历史总积分:50
品牌积分(台达):77
注册时间:2019/7/2
发站内信
发表于:2019/8/3 12:49:30
#53楼
以下是引用1211111152019/8/3 9:33:33的发言:
还记得之前给你指令的时候D21和D22的值是不一样的吗?显示50的时候是一个值,显示1的时候是另一个值,你要显示的数不一样这个CRC16也是不一样的,所以给D17-D20传送完数据之后,就得断开D17-D20传送的使能,确保计算CRC16的时候D17-D20的数据不发生变化(这之前不能用m1000了,不然这个数一直变化CRC永远算不对的),之后再计算CRC16,把CRC16传送到D21-D22,现在你这条指令是正确的,然后触发RS发送,发送完成后在去给D17-D20传模拟量,传完断开使能,计算CRC16······这么循环着进行的。
谢谢老师,我写写看,有结果了告诉您
此帖发自手机工控论坛
50
平安JQ1U
文章数:119
年度积分:50
历史总积分:50
品牌积分(台达):77
注册时间:2019/7/2
发站内信
发表于:2019/8/6 18:54:10
#54楼
以下是引用1211111152019/8/3 9:33:33的发言:
还记得之前给你指令的时候D21和D22的值是不一样的吗?显示50的时候是一个值,显示1的时候是另一个值,你要显示的数不一样这个CRC16也是不一样的,所以给D17-D20传送完数据之后,就得断开D17-D20传送的使能,确保计算CRC16的时候D17-D20的数据不发生变化(这之前不能用m1000了,不然这个数一直变化CRC永远算不对的),之后再计算CRC16,把CRC16传送到D21-D22,现在你这条指令是正确的,然后触发RS发送,发送完成后在去给D17-D20传模拟量,传完断开使能,计算CRC16······这么循环着进行的。
附件 11.jpg

附件 12.jpg

附件 13.jpg

附件 14.jpg


老师您好,方便时给看看,哪不对?
表显示0001.0,改变模拟量无变化。
用了两个时间继电器,实现了(只看功能)。
1.计算CRC16时断开DMOV-D100-D17的传送。
2.RS发送时断开了CRC16的计算。
疑问:
1.DMOV-D100-D17,是传送到D17-D20吗?
2.CRC D10 K11 D21,是传送到D21-D22吗?
3.如果不是该用什么方法呢?
4.根据上图,D17-D20和D21-D22已经写入
3F800000和FE53数据了.
DMOV-D100-D17,CRC D10 K11 D21时怎么再写入呢?
谢谢老师
50
平安JQ1U
文章数:119
年度积分:50
历史总积分:50
品牌积分(台达):77
注册时间:2019/7/2
发站内信
发表于:2019/8/6 18:56:43
#55楼
用了一个M1014,只为了循环开通和断开时间继电器
50
平安JQ1U
文章数:119
年度积分:50
历史总积分:50
品牌积分(台达):77
注册时间:2019/7/2
发站内信
发表于:2019/8/6 19:11:44
#56楼
以下是引用1211111152019/8/3 9:33:33的发言:
还记得之前给你指令的时候D21和D22的值是不一样的吗?显示50的时候是一个值,显示1的时候是另一个值,你要显示的数不一样这个CRC16也是不一样的,所以给D17-D20传送完数据之后,就得断开D17-D20传送的使能,确保计算CRC16的时候D17-D20的数据不发生变化(这之前不能用m1000了,不然这个数一直变化CRC永远算不对的),之后再计算CRC16,把CRC16传送到D21-D22,现在你这条指令是正确的,然后触发RS发送,发送完成后在去给D17-D20传模拟量,传完断开使能,计算CRC16······这么循环着进行的。
附件 15.jpg



还有老师,看上图,我把D17-D22删除后,
表显示0000.0,改变模拟量,也是无变化。
5476
121111115
文章数:1400
年度积分:559
历史总积分:5476
品牌积分(台达):45
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2019/8/13 22:01:08
#57楼
以下是引用平安JQ1U2019/8/6 19:11:44的发言:
以下是引用1211111152019/8/3 9:33:33的发言:
还记得之前给你指令的时候D21和D22的值是不一样的吗?显示50的时候是一个值,显示1的时候是另一个值,你要显示的数不一样这个CRC16也是不一样的,所以给D17-D20传送完数据之后,就得断开D17-D20传送的使能,确保计算CRC16的时候D17-D20的数据不发生变化(这之前不能用m1000了,不然这个数一直变化CRC永远算不对的),之后再计算CRC16,把CRC16传送到D21-D22,现在你这条指令是正确的,然后触发RS发送,发送完成后在去给D17-D20传模拟量,传完断开使能,计算CRC16······这么循环着进行的。
附件 15.jpg



还有老师,看上图,我把D17-D22删除后,
表显示0000.0,改变模拟量,也是无变化。
D17-D20是你存储显示数据的地址,删了就是0了,这很正常,D21-D22是CRC校验。
5476
121111115
文章数:1400
年度积分:559
历史总积分:5476
品牌积分(台达):45
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2019/8/13 22:06:33
#58楼
以下是引用平安JQ1U2019/8/6 18:54:10的发言:
以下是引用1211111152019/8/3 9:33:33的发言:
还记得之前给你指令的时候D21和D22的值是不一样的吗?显示50的时候是一个值,显示1的时候是另一个值,你要显示的数不一样这个CRC16也是不一样的,所以给D17-D20传送完数据之后,就得断开D17-D20传送的使能,确保计算CRC16的时候D17-D20的数据不发生变化(这之前不能用m1000了,不然这个数一直变化CRC永远算不对的),之后再计算CRC16,把CRC16传送到D21-D22,现在你这条指令是正确的,然后触发RS发送,发送完成后在去给D17-D20传模拟量,传完断开使能,计算CRC16······这么循环着进行的。
附件 11.jpg

附件 12.jpg

附件 13.jpg

附件 14.jpg


老师您好,方便时给看看,哪不对?
表显示0001.0,改变模拟量无变化。
用了两个时间继电器,实现了(只看功能)。
1.计算CRC16时断开DMOV-D100-D17的传送。
2.RS发送时断开了CRC16的计算。
疑问:
1.DMOV-D100-D17,是传送到D17-D20吗?
2.CRC D10 K11 D21,是传送到D21-D22吗?
3.如果不是该用什么方法呢?
4.根据上图,D17-D20和D21-D22已经写入
3F800000和FE53数据了.
DMOV-D100-D17,CRC D10 K11 D21时怎么再写入呢?
谢谢老师
这个很简单了,利用传送把你的模拟量值传到D17-D20里面,要求是双精度浮点数,提前转换好了,然后断开D17-D20的数据刷新(停止传送)计算从D10到D20的CRC16,然后把计算值写入D21-D22,触发RS发送即可。循环这一操作就可以了。传送这是基本功,一定得理解了,我给你发了手册多研究研究肯定能理解,而且必须理解。
5476
121111115
文章数:1400
年度积分:559
历史总积分:5476
品牌积分(台达):45
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2019/8/13 22:17:46
#59楼
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编辑过]

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

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

93.6006