请问如何用opto 485/422模块实现 点击:1635 | 回复:10



真实de

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 0回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2007年3月23日
发表于:2007-03-23 17:38:00
楼主
请问请问
如何用485通讯,有多个 设备要用485和
 opto 通讯。
请问如何能用opto 485/422模块 编程实现。
现有资料只有opto 485/422模块接线和设置,没有说如何在control编程实现。

哪有相关资料可查

还有Profibus相关资料,和在control编程实现



rwhuang

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 137回
  • 年度积分:0
  • 历史总积分:175
  • 注册:2005年6月10日
发表于:2007-03-26 11:53:00
1楼
你用什么协议呢?

真实dede

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2006年9月21日
发表于:2007-03-28 11:40:00
2楼
你是说和opto 连接设备的协议么.?

这个应该是第二步的吧.

我现在是opto 485/422模块不知道编程.
我现在要用两个opto 485/422模块分别和2 个设备通讯,一个半双工,一个全双工.

我怎么编程了.



我原来用 控制器232 接口   接 "232 转485转换器"  ,接485 设备

如下
{BPQ_full_string=chr(2)+BPQ_command_string+chr(check_sum);
ClearCommunicationReceiveBuffer(Passed_handle);
send_return_status = TransmitString(BPQ_full_string,Passed_handle);
DelayMsec(20);
if(send_return_status == 0) Then
   receive_return_status = ReceiveNChars(Return_string, 11, Passed_handle);}

如果现在用opto 485/422模块 怎么做了?  
比如:如何设定用opto 485/422模块中的哪个? 

rwhuang

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 137回
  • 年度积分:0
  • 历史总积分:175
  • 注册:2005年6月10日
发表于:2007-03-28 17:24:00
3楼
建议你给当地的办事处联系``要是在西南这边我肯定帮你搞定

rwhuang

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 137回
  • 年度积分:0
  • 历史总积分:175
  • 注册:2005年6月10日
发表于:2007-03-28 17:25:00
4楼
按照你的说法应该是你使用OPTO22的通讯模块要和其他的设备通讯,现在不知道怎么写程序吗?

rwhuang

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 137回
  • 年度积分:0
  • 历史总积分:175
  • 注册:2005年6月10日
发表于:2007-03-28 17:27:00
5楼
这个就要根据你的两个设备是什么来确定怎么写程序了,不同的设备所支持的协议也不一样.比如:MODBUS。

真实dede

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2006年9月21日
发表于:2007-03-30 16:12:00
6楼
谢谢您的回复,但我可能没表达对我的意思。
我是刚用 opto 编程的。
手上只有一个用控制本身232串口转 485,程序作为例子。但我还没完全弄懂。

我的问题是如何用485模块进行通讯。

就是模块本身怎么用 。如何设置我用的模块。

还没到你说的这一步。
“这个就要根据你的两个设备是什么来确定怎么写程序了,不同的设备所支持的协议也不一样.比如:MODBUS。“



真实dede

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2006年9月21日
发表于:2007-03-30 16:19:00
7楼
下面是我写的一段test程序。  
目的是要用一个485 模块 发送数据到另一个 485 模块 ,两个模块插在同一个控制器上。


SetCommunicationHandleValue("tcp:192.168.40.149:22512",  test6a);

SetCommunicationHandleValue("tcp:192.168.40.149:22514",  test7a);

s1=chr(21)+chr(42)+chr(62);
ClearCommunicationReceiveBuffer(test6a);
n3= TransmitString(s1,test6a);
DelayMsec(20);

 n4 = ReceiveNChars(s2, 11, test7a);



-------------------------------------
运行时  n3 返回 -52, n4 返回 -52 
 

真实dede

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2006年9月21日
发表于:2007-04-02 12:10:00
8楼

真实dede

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2006年9月21日
发表于:2007-04-02 12:12:00
9楼
485 通讯没问题
如何用opto如何实现 crc 16 校验
下面是一段其他语言的 crc16 程序,谁能帮翻译成opto 程序 

unsigned short CRC161(unsigned char *ptr, unsigned char len)


{


unsigned short i,crc=0xffff;


while(len--!=0) 


{


crc ^= *ptr++;


for(i=0; i<8;i++) 


{


if(crc&1)


  {


crc >>= 1;


crc ^= 0xa001;


}


else 


crc >>= 1;


}


}


return(crc);


}

rwhuang

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 137回
  • 年度积分:0
  • 历史总积分:175
  • 注册:2005年6月10日
发表于:2007-04-03 09:13:00
10楼
OPTO22有专门的指令来做这个`````

热门招聘
相关主题

官方公众号

智造工程师