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

计算机与PLC通讯的格式和实现方法(3) 点击:3671 | 回复:21



串口通讯

    
  • 精华:3帖
  • 求助:0帖
  • 帖子:73帖 | 356回
  • 年度积分:0
  • 历史总积分:1788
  • 注册:2007年7月09日
发表于:2007-11-28 14:53:00
楼主
三、编程口命令操作
  (1)位元件或字元件状态读操作
  操作对象元件:PLC内部的X、Y、M、S、T、C、D元件;命令格式:
 
说明:①为读命令起始标志STX,代码为OX02;
   ②为位元件或字元件状态读命令CMDO,命令代码为OX30;
   ③为读位元件或字元件的4位起始地址,高位先发,低位后发,且是以ASCII码的形式发送;
   ④为一次读取位元件或字元件的个数,最多一次可读取OXff个字节的元件,以ASCII码的形式发送;
   ⑤为停止位标志ETX,代码为OX03;
   ⑥为2位和校验,和累计为②、③、④项代码,取其和最低两位转化成ASCII码,高位先发,低位后发。
  在发送完上述命令格式代码后,就可直接读取PLC响应的信息。响应信息格式如下:
 
  VC++语言实现:
  BOOL CNTJDlg::ReadFromPLC(char *Read_char char
*Read_address, int Read_bytes)
{
  char senddatasum_CHECK\[2\];char readdatasum_CHECK\[2\]; char total_DATABYTES\[2\];
  char readdatasum_check\[2\];int readdata_sum;
  int datasum_check=0;  int i;
  Serial.SendData(&STX_start,1);/向PLC发送“开始”标志代码
  Serial.SendData(&CMDO_read,1);//发送“读”命令代码datasum_check+=CMDO_read;



东北风

  • 精华:6帖
  • 求助:0帖
  • 帖子:95帖 | 520回
  • 年度积分:0
  • 历史总积分:1407
  • 注册:2006年8月07日
发表于:2008-04-03 08:31:12
21楼
好文章!我现在正需要这样的资料。

热门招聘
相关主题

官方公众号

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