d5373325
级别: 探索解密
精华主题: 0
发帖数量: 49 个
工控威望: 164 点
下载积分: 5462 分
在线时间: 70(小时)
注册时间: 2012-04-08
最后登录: 2023-02-13
查看d5373325的 主题 / 回贴
楼主  发表于: 2015-08-24 19:36
麻烦问下用三菱PLC的N:N通讯,数据寄存器和辅助寄存器不够用,假如我要传送20个数据。怎么做呢?
leslie1994
菜鸟努力中
级别: 家园常客
精华主题: 0
发帖数量: 138 个
工控威望: 856 点
下载积分: 2304 分
在线时间: 142(小时)
注册时间: 2014-11-06
最后登录: 2022-05-09
查看leslie1994的 主题 / 回贴
1楼  发表于: 2015-08-24 20:13
N:N通讯的模式2数据交换的个数最多,  位元件64点、字元件8点。
     你说的20个数据是位元件九解决了。是位元件的话就麻烦了。
  我想到一个思路,不知道可不可行。    用位元件来表示数据,   位元件应该是够的,  所以把位元件的状态传到接受方,然后接受方再转换位 数据   (具体说明指令忘记了,肯定是有这指令的。)  
本帖最近评分记录:
  • 下载积分:+1(最远是多远) 好贴好贴!
  • 菜鸟努力中
    gaoshanyeyun
    级别: 略有小成
    精华主题: 0
    发帖数量: 51 个
    工控威望: 245 点
    下载积分: 397 分
    在线时间: 228(小时)
    注册时间: 2010-04-12
    最后登录: 2024-03-04
    查看gaoshanyeyun的 主题 / 回贴
    2楼  发表于: 2015-08-24 21:32
    分批传嘛,这有啥难度。就是速度慢点,我想你用NN网络也不会有太高的实时性要求了。
    楼主留言:
    能不能告诉我一下具体怎么做呢!谢谢
    本帖最近评分记录:
  • 下载积分:+2(lay111) 好贴好贴!
    gaoshanyeyun
    级别: 略有小成
    精华主题: 0
    发帖数量: 51 个
    工控威望: 245 点
    下载积分: 397 分
    在线时间: 228(小时)
    注册时间: 2010-04-12
    最后登录: 2024-03-04
    查看gaoshanyeyun的 主题 / 回贴
    3楼  发表于: 2015-08-24 21:35
    要快就用以太网
    iujfang
    怪人
    级别: 家园常客
    精华主题: 0
    发帖数量: 408 个
    工控威望: 531 点
    下载积分: 1387 分
    在线时间: 199(小时)
    注册时间: 2010-05-21
    最后登录: 2024-05-06
    查看iujfang的 主题 / 回贴
    4楼  发表于: 2015-08-25 07:50
    假如不用位元件的话,64个位寄存器可以当做4个字寄存器使用,也就是说最多12个寄存器,再多了就不行了。那就要用其他的方法,如有触摸屏就好办了
    [ 此帖被iujfang在2015-08-25 09:00重新编辑 ]
    lay111
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 34 个
    工控威望: 1123 点
    下载积分: 27455 分
    在线时间: 323(小时)
    注册时间: 2015-08-11
    最后登录: 2019-01-14
    查看lay111的 主题 / 回贴
    5楼  发表于: 2015-08-25 08:44
    2F的點子不錯! 拿一字元當索引暫存器,再用幾個暫存器依照索引排放數值
    jackal
    索马里海盗
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 658 个
    工控威望: 1006 点
    下载积分: 857 分
    在线时间: 450(小时)
    注册时间: 2008-06-21
    最后登录: 2024-04-28
    查看jackal的 主题 / 回贴
    6楼  发表于: 2015-08-25 11:00
    20个太多了     用两个就够了      


    D0=1   本地D101 MOV到  D1 传过去的数据  保持到  D101 里面    回传一个接受完成
    D0=2   本地D102 MOV到  D1 传过去的数据  保持到  D102 里面    回传一个接受完成
    D0=3   本地D103 MOV到  D1 传过去的数据  保持到  D103 里面    回传一个接受完成
    D0=4   本地D104 MOV到  D1 传过去的数据  保持到  D104 里面    回传一个接受完成
    D0=5   本地D101 MOV到  D1 传过去的数据  保持到  D105 里面    回传一个接受完成
    D0=6   本地D101 MOV到  D1 传过去的数据  保持到  D106 里面    回传一个接受完成

      2个可以实现  这样要传送20次    当然别傻呵呵的     就用两个     每次传送的时候  可以多传送几个 看最大能有几个   如果一次可以传10个 你们传送两次就可以了  

    只是个思路而已      有些 人看不懂 回来补充一下
    [ 此帖被jackal在2015-08-25 11:37重新编辑 ]
    gdj-gdj
    每天进步一点点!
    级别: 网络英雄
    精华主题: 0
    发帖数量: 399 个
    工控威望: 7067 点
    下载积分: 122763 分
    在线时间: 1405(小时)
    注册时间: 2013-10-12
    最后登录: 2024-05-14
    查看gdj-gdj的 主题 / 回贴
    7楼  发表于: 2015-08-25 11:13
    4楼说的好啊。
    fubin739
    级别: 家园常客
    精华主题: 0
    发帖数量: 443 个
    工控威望: 790 点
    下载积分: 3080 分
    在线时间: 451(小时)
    注册时间: 2006-11-06
    最后登录: 2024-05-11
    查看fubin739的 主题 / 回贴
    8楼  发表于: 2015-08-25 11:49
    如果数据比较小,可以考虑将两个数整合到一个数里面,传回来再分解开。
    另外既然都N:N了,直接自己发算了。
    gaoshanyeyun
    级别: 略有小成
    精华主题: 0
    发帖数量: 51 个
    工控威望: 245 点
    下载积分: 397 分
    在线时间: 228(小时)
    注册时间: 2010-04-12
    最后登录: 2024-03-04
    查看gaoshanyeyun的 主题 / 回贴
    9楼  发表于: 2015-08-25 22:13
    自己定个简单的协议就行了,用计数配合变址寄存器,计数值用传送成功回授信号增量计数。
    别说20个字,就是2000个字也没有问题。这样简洁,高效,最大化的通讯利用率。
    譬如要传送D100-D1199
    一次传4字
    BMOV D100z0 至交换寄存器 K4
    Z0=N*8
    接收也一样
    gaoshanyeyun
    级别: 略有小成
    精华主题: 0
    发帖数量: 51 个
    工控威望: 245 点
    下载积分: 397 分
    在线时间: 228(小时)
    注册时间: 2010-04-12
    最后登录: 2024-03-04
    查看gaoshanyeyun的 主题 / 回贴
    10楼  发表于: 2015-08-25 22:19
    其中交换的第5个字内写一个标示其值为N,方便接收方利用其变址寄存器安放接收到的数据。尽量做到数据存储编号一致,整齐。