根据欧姆龙技术论坛提供的590.pdf里一个在unix环境下编写的c++程序,我把它改成了支持windows,但是读写PLC数据不知道怎么实现,数据不知道读到那里去了,写数据的格式不知道是什么?请教各位兄弟们!
解决方案 »
- GDI+ 画png图片放大了,怎么回事?
- 谁用过这个函数CMFCPropertyGridCtrl::DeleteProperty(CMFCPropertyGridProperty*& pProp...
- unhandled exception in xxx.exe 0x00000000005 Access violation
- 字符串连接问题~~
- 请问如何让在对话框中读取的文本内容自动换行
- 关于 SQL 的datetime 在VC++中转换成 CString
- 如何查找ip地址?(关于smtp)
- 运行时出现"命令失败"对话框和"内部应用程序出错"对话框,是什么错误
- 怎样在插入符处读入键盘输入的字符或字符串?
- VC6.0
- !
- 关于OnShowWindow()
我写了个vb例子,我把自己改的哪个vc写plc寄存器中DM区域内容的命令搬到vb里面,vb项目运行后可以修改DM里的值,为什么我的VC项目里这条命令就不行呢??
#include <stdio.h>
#include <stdlib.h>void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return;
}
//SOCKET sockClient=socket(AF_INET,SOCK_STREAM, 0);
SOCKET sockClient=socket(AF_INET,SOCK_STREAM, IPPROTO_TCP);//IPPROTO_TCP
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=inet_addr("172.17.109.19");
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(9600); int result = connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR)); //8000020013000011001301028227100000019911
BYTE chSendData[20];
chSendData[0] = 0x80;
chSendData[1] = 0x00;
chSendData[2] = 0x02;
chSendData[3] = 0x00;
chSendData[4] = 0x13;
chSendData[5] = 0x00; chSendData[6] = 0x00;
chSendData[7] = 0x11;
chSendData[8] = 0x00;
chSendData[9] = 0x13;
chSendData[10] = 0x01; chSendData[11] = 0x02;
chSendData[12] = 0x82;
chSendData[13] = 0x27;
chSendData[14] = 0x10;
chSendData[15] = 0x00; chSendData[16] = 0x00;
chSendData[17] = 0x01;
chSendData[18] = 0x99;
chSendData[19] = 0x11; int nLen = send(sockClient, (const char *)chSendData, 20, 0); char recvBuf[100];
memset(recvBuf, 0, 100);
int nLenRecv = recv(sockClient,recvBuf,100,0);
//46 49 4E 53 00 00 00 10 00 00 00 01
//00 00 00 01 00 01 99 11 00 00 00 13
printf("%s\n",recvBuf); closesocket(sockClient);
WSACleanup(); system("pause");
}
这个是测试程序,运行后弹出的提示是:FINS请按任意键继续...
现在都忘了
你可以看欧姆龙的手册啊!!
我记得是好像是英文的可以看得懂的!!
最近在研究欧姆龙PLC的通讯,主要是基于FINS的TCP或者UDP方式,想咨询一下,怎么来监听PLC里面的数据变化?哪位有这方面的Demo啊?meteormeng,有基于FINS的TCP或者UDP方式通讯的Demo 吗??