您的位置:控制工程论坛网论坛 » PLC与PAC » 【转帖】计算机与PLC的通讯格式和实现方法(3)

bjmonsoon

bjmonsoon   |   当前状态:在线

总积分:1206  2025年可用积分:0

注册时间: 2007-05-16

最后登录时间: 2011-06-13

空间 发短消息加为好友

【转帖】计算机与PLC的通讯格式和实现方法(3)

bjmonsoon  发表于 2007/12/9 0:49:11      803 查看 1 回复  [上一主题]  [下一主题]

手机阅读

三、编程口命令操作

  (1)位元件或字元件状态读操作
  操作对象元件:PLC内部的XYMSTCD元件;命令格式:

说明:为读命令起始标志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;

1楼 0 0 回复
总共 , 当前 /