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

怎样实现VB编程K120S PLC与计算机通讯 点击:6565 | 回复:54



PLC低手

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 4回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2006年3月15日
发表于:2006-03-16 11:07:00
楼主
PLC型号为K120S ,有一9针串口,一485口,用9针串口通讯,接线方式为:2-3,3-2,5-5,用KGL编程通讯正常,用VB6编程,发送命令后无反应,发送命令格式不对?
send$ = "H05 H3030 H72 H5353 H3032 H3035 H254D573230 H3036 H255057303031 H04"
MSCOMM1.OUTPUT=send$
本人初学PLC,说明书看了几遍都没弄明白具体怎么用高级语言编程与PLC 通讯,求高手给指点一下,最好给出一个简单的例程,谢谢了。



circinus

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 193回
  • 年度积分:0
  • 历史总积分:331
  • 注册:2004年2月23日
发表于:2006-03-16 11:49:00
1楼
我也想知道

LHS

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 126回
  • 年度积分:0
  • 历史总积分:292
  • 注册:2005年9月12日
发表于:2006-03-16 14:09:00
2楼
命令对不对不知道,但连线不对,PLC应用4,7,5对PC3,2,5详见说明书8-2页

PLC低手

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 4回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2006年3月15日
发表于:2006-03-16 14:17:00
3楼
用4,7,5连线试过了,也没有反应。

Marine1981

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 44回
  • 年度积分:0
  • 历史总积分:49
  • 注册:2006年2月28日
发表于:2006-03-16 18:20:00
4楼
这种通讯不了解,用以太网的话方便多了!

流客

  • 精华:1帖
  • 求助:0帖
  • 帖子:7帖 | 252回
  • 年度积分:0
  • 历史总积分:548
  • 注册:2003年10月14日
发表于:2006-03-16 21:56:00
5楼
与我联系吧.lsllhd@163.com

adongliu

  • 精华:8帖
  • 求助:0帖
  • 帖子:42帖 | 139回
  • 年度积分:0
  • 历史总积分:277
  • 注册:2003年11月15日
发表于:2006-03-16 22:03:00
6楼
send$ = "H05 H3030 H72 H5353 H3032 H3035 H254D573230 H3036 H255057303031 H04"
应为send$=chr(05)+"00......"+校验和+chr(04)

PLCMJ

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 35回
  • 年度积分:0
  • 历史总积分:49
  • 注册:2005年7月20日
发表于:2006-03-17 12:40:00
7楼
我做过类似的通讯,不过是用VC编的,用的是LG的专用协议,接线如lhs所说,通讯、监控正常,建议先用串口调试软件进行调试。

PLC低手

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 4回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2006年3月15日
发表于:2006-03-17 13:45:00
8楼
请问mjj先生,传送的命令是什么格式的,是send$ = "H05 H3030 H72 H5353 H3032 H3035 H254D573230 H3036 H255057303031 H04"
还是send$=chr(05)+"00......"+校验和+chr(04) 还是其它格式,能给个VC 的简单例程吗?还有用LG的专用协议如何设置PLC。谢谢    mhwmhw@etang.com

PLCMJ

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 35回
  • 年度积分:0
  • 历史总积分:49
  • 注册:2005年7月20日
发表于:2006-03-17 14:23:00
9楼
unsigned Sixthing[17];

Sixthing[0] = 0x05;
Sixthing[1] = 0x30;
Sixthing[2] = 0x30;
Sixthing[3] = 0x52;
         Sixthing[4] = 0x53;
         Sixthing[5] = 0x53;
         Sixthing[6] = 0x30;
         Sixthing[7] = 0x31;
         Sixthing[8] = 0x30;
Sixthing[9] = 0x36;
Sixthing[10]= 0x25;
Sixthing[11]= 0x44;
         Sixthing[12]= 0x57;
Sixthing[13]= 0x30;
Sixthing[14]= 0x30;
Sixthing[15]= 0x30;
Sixthing[16]= 0x04;
for(int n = 0;n<=16;n++)
{
TxData[n] = Sixthing[n];
                   }
查询D0中的数据

PLCMJ

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 35回
  • 年度积分:0
  • 历史总积分:49
  • 注册:2005年7月20日
发表于:2006-03-17 14:36:00
10楼
PLC的设置为:
在参数设置中打开通讯0,将通信设为"允许",站号0,波特率9600,无校验,数据位8,停止位1,通讯通道为   RS232无调制解调器或RS422/485.   协议与模式为   专用  从 .
还有就是把PLC左上方的BUILT-IN CNET开关拨到左边ON位置.ROM MODE 为OFF

PLC低手

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 4回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2006年3月15日
发表于:2006-03-20 15:19:00
11楼
说明书中举例:
格式名称 头 站号 命令 命令类型 块数目 变量长度 格式名称 设备长度 格式名称 尾 帧检测
帧举例 ENQ H01 r SS H02 H05 %MW20 H06 %PW001 EOT BCC
ASCII 值 H05 H3031 H72 H5353 H3032 H3035 H254D573230 H3036 H255057303031 H04
用VB编程,发送的命令字符串应该怎么写?我按上面方法发送命令后无反应。

LG产电MM

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 174回
  • 年度积分:0
  • 历史总积分:342
  • 注册:2003年8月26日
发表于:2006-03-21 11:15:00
12楼
去掉“H“

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2006-03-23 11:47:00
13楼
单个字节读:05 30 30 52 53 53 30 31 30 34 25 4D 57 35 04
单个字节应答:06 30 30 52 53 53 30 31 30 32 30 30 30 30 03

PLCMJ

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 35回
  • 年度积分:0
  • 历史总积分:49
  • 注册:2005年7月20日
发表于:2006-03-23 16:04:00
14楼
我认为您应该先保证PC机与PLC的连接,用一个串口调试工具发送如ZJD-2003所说的字符到PLC上,观察是否有应答返回,如有应答,再编写后续的VB程序,串口调试软件网上有下载,如找不到我这可提供一个.

PLC低手

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 4回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2006年3月15日
发表于:2006-03-23 17:35:00
15楼
mjj您好,我用chr(05)+"01......"+校验和+chr(04)的命令格式后PLC有了回应,头尾必须用chr(05)和chr(04),站号不能用ASCA码,如1号站,不能写成3031,只能为01,与说明书上说的不一样。虽然有反应了,但返回的帧好象不对,有错误代码。请问除头尾、站号外,请求帧的其它部分,如命令、命令类型等用什么格式,16进制的ASC码?还是字符?还是10进制的ASC码?另外,请问强制P41输出、P01输入的命令是什么,该帧如何写。告诉我您使用的比较好用的串口调试软件。谢谢。

PLCMJ

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 35回
  • 年度积分:0
  • 历史总积分:49
  • 注册:2005年7月20日
发表于:2006-03-25 09:37:00
16楼
http://www.skycn.com/soft/5480.html
试试这个

PLCMJ

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 35回
  • 年度积分:0
  • 历史总积分:49
  • 注册:2005年7月20日
发表于:2006-03-25 09:45:00
17楼
都是用的16进制的ASC码 
不好意思,关于强制输入输出我没有用过,我觉得输出可以用该协议控制M0的ON和OFF,再用MO控制P41,至于输入就不大清楚了

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2006-03-28 13:28:00
18楼
关于P区域的数据也可以,只不过把M的代码换成P的代码

流浪的砖头

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 56回
  • 年度积分:0
  • 历史总积分:309
  • 注册:2004年7月19日
发表于:2006-03-29 10:49:00
19楼
p01 似乎不能强制,直接拿线搭一下吧  在硬件上

panqy82

  • 精华:0帖
  • 求助:0帖
  • 帖子:22帖 | 134回
  • 年度积分:0
  • 历史总积分:332
  • 注册:2006年3月21日
发表于:2006-03-29 21:10:00
20楼
用无协议通讯要简单点

热门招聘
相关主题

官方公众号

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