首页 上一页 1 2 下一页 尾页

关于DEVICENET通信方式问题 点击:5376 | 回复:22



COOLRAIN

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:4帖 | 14回
  • 年度积分:0
  • 历史总积分:84
  • 注册:2003年1月06日
发表于:2003-06-13 12:09:00
楼主
我现在想组建一个DEVICENET网络,其中主站用的是OMRON公司的C200HW-DRM21,从站为一个 带CAN接口卡(研华的HK-CAN10S智能通讯板)的PC机。我现在很迷茫的是,OMRON PLC中用的是DEVICENET协议中的哪几种通信方式还是全部都包含?因为DEVICENET协议中的通信方式有轮询、位选通、状态改变等。请哪位大侠指点一下,不胜感激。



awa405

  • 精华:4帖
  • 求助:0帖
  • 帖子:17帖 | 63回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2002年12月13日
发表于:2003-06-02 12:23:00
1楼
Omron的这一款主站,是支持所有轮询、位选通、状态改变方式的,关键是看从站支持什么样的IO报文方式。一般主站根据从站支持的种类和从站建立连接,然后进行通讯。假如研华的板卡支持Poll方式,那么,主站就给它建立Poll模式的连接,把它添加到自己的扫描列表,确定一下扫描间隔,然后就可以通讯了。

COOLRAIN

  • 精华:1帖
  • 求助:0帖
  • 帖子:4帖 | 14回
  • 年度积分:0
  • 历史总积分:84
  • 注册:2003年1月06日
发表于:2003-06-02 14:42:00
2楼
谢谢指点,我还想请教一个问题,也是我想了很多天的问题,就是扫描列表是怎么创建和注册的,我现在没有配置器,是否也可以进行注册?没有扫描列表的话,是不是主站和从站之间就不能建立连接?

awa405

  • 精华:4帖
  • 求助:0帖
  • 帖子:17帖 | 63回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2002年12月13日
发表于:2003-06-03 08:36:00
3楼
网络的配制器和配置软件是通过主站的代理功能,和从站进行信息的查询,确定从站的支持功能类型,然后在主站建立扫描列表。按照一般的应用常规,如果没有网络配置工具,那就不能创建扫描列表。但是如果你对网络上的从站很熟悉,知道它的参数信息,就可以不用网络配制器,直接给每个从站根据DeviceNet协议建立连接,根据从站IO字节长度分配内存资源,然后进行轮询。这种知道从站信息,包括MAC ID,以及IO长度,然后在主站内部确定内存映射空间,给每个从站建立连接,根据一定的扫描间隔进行轮询的方法,就是手动创建扫描列表的机理。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-06-05 09:28:00
4楼
多谢指点,我正需要这方面。还想请教,“直接给每个从站根据DeviceNet协议建立连接”能不能告诉我具体的软件(硬件)实现过程,谢谢。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-06-05 09:28:00
5楼
多谢指点,我正需要这方面。还想请教,“直接给每个从站根据DeviceNet协议建立连接”能不能告诉我具体的软件(硬件)实现过程,谢谢。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-06-05 09:28:00
6楼
多谢指点,我正需要这方面。还想请教,“直接给每个从站根据DeviceNet协议建立连接”能不能告诉我具体的软件(硬件)实现过程,谢谢。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-06-05 09:29:00
7楼
多谢指点,我正需要这方面。还想请教,“直接给每个从站根据DeviceNet协议建立连接”能不能告诉我具体的软件(硬件)实现过程,谢谢。

awa405

  • 精华:4帖
  • 求助:0帖
  • 帖子:17帖 | 63回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2002年12月13日
发表于:2003-06-06 09:22:00
8楼
ieee: 以一个主站(MacID=0)跟从站(MacID=5)为例: 首先主站向从站发送建立连接的请求: 标识符=11 110 000000, 11-组3,110-非连接的显式请求信息 000000 源MACID=0; 数据=05(MACID=5)4B (服务代码:打开连接)02 (16/16数据格式)01(组2信息) 从站根据请求信息回应: 标识符=11 101 000101,11-组3,101-非连接显式响应信息 源MACID=5; 数据=00 (MACID=5)CB (服务代码:打开连接)01 (实际8/16数据格式)14 (目的信息ID=1,源信息ID=4)02 00(连接实例=2) 这样,主站和从站就建立连接了,以后,主站(0)发给给从站(5)的报文如下:标识符=10 000101 001,组2 目的ID=5 组2信息ID=1;数据=请求信息; 从站发给主站的报文如下:标识符=10 000101 100,组2 源ID=5,组2 信息ID=4;数据=响应信息; 具体的协议内容请您参照DeviceNet Specification。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-06-06 13:57:00
9楼
awa405: 实在是太感谢你了,我还想问您,基于非连接与基于连接的信息除了发送时所用的信息格式和使用的信息组不同之外,还有没有其他的不同之处。多谢

awa405

  • 精华:4帖
  • 求助:0帖
  • 帖子:17帖 | 63回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2002年12月13日
发表于:2003-06-06 15:24:00
10楼
没有什么不同之处,需要说明的是,连接后的信息ID是在非连接信息响应时确立的。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-06-09 17:48:00
11楼
在预定义主/从连接组中,从机提供的连接对象的全部配置在设备通电时就完成了,在启动数据流时,主机设备唯一必须执行的一个步骤就是要声明对从机内该预定义连接组的所有权。可是规范中不是说主机需要向从机发送建立连接的请求,才可以与从机之间建立连接的。难道这种建立连接的过程与一般意义的建立连接不一样吗?我现在正处于对协议的理解过程中,烦劳高手多多指教?

COOLRAIN

  • 精华:1帖
  • 求助:0帖
  • 帖子:4帖 | 14回
  • 年度积分:0
  • 历史总积分:84
  • 注册:2003年1月06日
发表于:2003-06-09 21:04:00
12楼
我现在想开发一个devicenet从站(带CAN接口卡的PC机),主站为OMRON的C200HW-DRM21模块。现在已能从主站上接收数据,从数据分析,似乎有一些规律,但有些数据弄不明白,不知道其代表的是什么。以下是我接收的数据(16进制),其中主站地址为#01: 81 e7 00 2f 00 1c fb 10 00 c6 81 e7 00 2f 00 1c fb 10 00 44 f0 24 40 4b 00 30 01 4b 03 01 f0 24 42 4b 00 30 f0 24 52 4b f0 24 43 4b 00 30 f0 24 3d 4b ----------------- 按协议,81e7为标识符,应该是重复MAC ID检查信息,f024为非连接显式请求信息,后面的一个字节按数字递增,可能是从站节点地址,4b为打开连接服务代码,后面的就不知道表示的是什么,请哪位高手帮我指点一下。  当然单纯从这些数据是看不出什么规律出来,我现在不知道怎样着手去进行我的工作,是应该从主站的数据中找出其规律,还是不管主站,直接按照协议去进行软件编程?我对那些数据进行了许久的分析,然后对照着协议去对它分析,但还是不知道它中间许多数据代表的是什么,我现在真的是迷糊了。

awa405

  • 精华:4帖
  • 求助:0帖
  • 帖子:17帖 | 63回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2002年12月13日
发表于:2003-06-10 12:15:00
13楼
估计你用的监视软件只能显示CAN的报文,有些报文长度不对。 81 e7那两行是重复MAC ID校验,但是,报文数据区长度应该为7个字节,不是8个字节。应该是81 e7 00 2f 00 1c fb 10 00,81 e7表示重复MAC ID校验,本站MAC ID=1;00 2f表示制造商是OMRON(Vender ID=47),后面4个字节是产品系列号。 后面3行你分析的对,是未连接的显式信息请求,分别对于从站0,2,3,但是数据区字节长度应该为4个字节,应该是 f0 24 40 4b 00 30   f0 24 42 4b 00 30   f0 24 43 4b 00 30 f0 24表示未连接的显式请求,源MAC ID=1,40、42、43表示目标MAC ID=0、2、3;4b是服务代码,表示打开连接,剩下的00 30 表示信息体格式是8/8,组3信息,信息ID=0。

COOLRAIN

  • 精华:1帖
  • 求助:0帖
  • 帖子:4帖 | 14回
  • 年度积分:0
  • 历史总积分:84
  • 注册:2003年1月06日
发表于:2003-06-11 09:38:00
14楼
awa405: 你说的不错,我的从站是通过CAN接口卡连到DEVICENET主站上的,这块接口卡自带有驱动程序,我在上位机上调用它的读数据函数ReadCANFrame来接收主站上传来的数据的,而且是以每帧10个字节来读取数据。我不知道这样读取的数据是不是不准确?因为我现在也不知道从主站上传来的数据长度是多少,只能是每收到10个字节的数据就调用函数把缓冲队列中的数据读出来。还请给我指点指点。

awa405

  • 精华:4帖
  • 求助:0帖
  • 帖子:17帖 | 63回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2002年12月13日
发表于:2003-06-11 10:04:00
15楼
其实很简单,每一帧的第二个字节的低4位,表示该帧数据的长度,比如:   81 e7 00 2f 00 1c fb 10 00 c6 e7表示数据区有7个字节;   f0 24 40 4b 00 30 01 4b 03 01 24表示数据区有4个字节。 你在调用函数后再加上一个处理环节就可以了。

COOLRAIN

  • 精华:1帖
  • 求助:0帖
  • 帖子:4帖 | 14回
  • 年度积分:0
  • 历史总积分:84
  • 注册:2003年1月06日
发表于:2003-06-13 11:46:00
16楼
awa405: 我根据你的建议(如上所述)处理了每一帧的数据,使数据区的数据长度与DLC的长度相等,处理后的数据跟处理前的数据的前面部分是一样的,但是我不知道这样处理会不会漏掉一些数据,如果没有漏的话,那么处理前的那些数据(不在数据长度范围之内)会是一些什么样的信息呢? 还望赐教!

awa405

  • 精华:4帖
  • 求助:0帖
  • 帖子:17帖 | 63回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2002年12月13日
发表于:2003-06-13 12:09:00
17楼
放心吧!不会漏掉的,我就是这么处理的。那些不在长度范围内的数据跟你的CAN卡的接口驱动程序有关,大概是随机生成的,你可以不去理会。

一个人孤独

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:31
  • 注册:2006年2月13日
发表于:2006-12-07 02:49:00
18楼
我来学习,谢谢各位哈。

anili

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:37
  • 注册:2003年2月14日
发表于:2007-02-28 22:54:00
19楼
有点入门了.

葡萄

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 103回
  • 年度积分:0
  • 历史总积分:194
  • 注册:2003年5月16日
发表于:2007-03-07 08:50:00
20楼
  欢迎大家进此QQ群一起讨论:13328599
PLC 单片机 总线控制  运动控制
欢迎所有自动化控制的朋友一起讨论提高.

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页