资源简介

西门子PLC通信与控制应用编程实例源程序 PLC断控制程序 采用PPI点对点传输协议或者 自由端口通信 实例

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include “AI_PLC.h“
unsigned int  bz=0;
unsigned char cmd_rd[]={0x680x1B0x1B0x680x020x000x6C0x320x010x000x00
0x000x000x000x0E0x000x000x040x010x120x0A0x10
0x040x000x010x000x010x840x000x030x200x8D0x16}; 
//读2字节命令,共33字节:第22字节为04,表示要读1个字,即2个字节,返回数据中,即25、26字节

unsigned char cmd_ok[]={0x100x020x000x5C0x5E0x16}; //确认命令,共6字节

static int panelHandle;
int main (int argc char *argv[])
{
if (InitCVIRTE (0 argv 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0 “AI_PLC.uir“ PANEL)) < 0)
return -1;
OpenComConfig (1 ““ 9600 2 8 1 512 512);  //串口初始化
SetCTSMode (1LWRS_HWHANDSHAKE_OFF) ;
FlushInQ (1);
FlushOutQ (1);
DisplayPanel (panelHandle);
RunUserInterface ();
CloseCom (1);               //退出关闭串口
DiscardPanel (panelHandle);
return 0;
}

//向S7-200PLC发送读指令,读取寄存器VW100中的数据
int CVICALLBACK TIMER (int panel int control int event
void *callbackData int eventData1 int eventData2)
{
int  len=0;
int  i=0;
unsigned char bufer[100]={0};
unsigned char str[100]={0};
unsigned char s[10]={0};
int  val=0;
float v=0;
switch (event)
{
case EVENT_TIMER_TICK:
bz = bz + 1;
   if(bz==1)ComWrt (1 cmd_rd33);                 //发送读指令
if(bz == 2)
{   len = GetInQLen (1);
ComRd (1buferlen);
if(strchr(bufer0xE5)!=0){ComWrt(1cmd_ok6);}   //收到E5发送确认指令
}
      if(bz == 3)
{   len = GetInQLen (1);
ComRd (1buferlen);                            //读取返回数据串
Fmt(s“%x“bufer[25]); //格式转换
if(bufer[25]<16)strcat(str“0“);
strcat(strs);
Fmt(s“%x“bufer[26]);
if(bufer[26]<16)strcat(str“0“);
strcat(strs);
strcat(str“\0“);
Scan(str“%s>%x“&val);
SetCtrlVal (panelHandle PANEL_NUMERIC_16val);   //显示16进制数字量
SetCtrlVal (panelHandle PANEL_NUMERIC_Dval);    //显示10进制数字量
v=(float)val/6400;
SetCtrlVal (panelHandle PANEL_NUMERIC_Vv);    //显示电压值
bz = 0;
}
break;
}
return 0;
}

int CVICALLBACK CLOSE (int panel int control int event
void *callbackData int eventData1 int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
QuitUserInterface (0);
FlushInQ (1);
FlushOutQ (1);
CloseCom (1);//退出关闭串口
break;
}
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1172  2010-08-27 15:02  01 实例源程序\6.2.1  PLC端电压输入程序(PPI协议)\PLC输入1.mwp

     文件       1692  2011-03-25 18:34  01 实例源程序\6.2.1  PLC端电压输入程序(PPI协议)\PLC输入2.mwp

     文件       6491  2010-09-03 11:31  01 实例源程序\6.2.2  PC端采用Visual Basic实现电压输入(PPI协议)\Form1.frm

     文件        190  2010-08-28 04:29  01 实例源程序\6.2.2  PC端采用Visual Basic实现电压输入(PPI协议)\MSSCCPRJ.SCC

     文件        775  2010-09-03 11:31  01 实例源程序\6.2.2  PC端采用Visual Basic实现电压输入(PPI协议)\工程1.vbp

     文件         48  2011-03-25 18:29  01 实例源程序\6.2.2  PC端采用Visual Basic实现电压输入(PPI协议)\工程1.vbw

     文件       6952  2010-08-30 13:02  01 实例源程序\6.2.2  PC端采用Visual Basic实现电压输入(PPI协议)\方法1\Form1.frm

     文件        775  2010-08-30 13:02  01 实例源程序\6.2.2  PC端采用Visual Basic实现电压输入(PPI协议)\方法1\工程1.vbp

     文件         50  2011-03-25 18:29  01 实例源程序\6.2.2  PC端采用Visual Basic实现电压输入(PPI协议)\方法1\工程1.vbw

     文件       2592  2003-01-01 06:42  01 实例源程序\6.2.3  PC端采用LabWindowsCVI实现电压输入(PPI协议)\AI_PLC.c

     文件       3411  2011-03-25 18:30  01 实例源程序\6.2.3  PC端采用LabWindowsCVI实现电压输入(PPI协议)\AI_PLC.cws

     文件       1451  2003-01-01 06:41  01 实例源程序\6.2.3  PC端采用LabWindowsCVI实现电压输入(PPI协议)\AI_PLC.h

     文件       4396  2010-08-29 10:08  01 实例源程序\6.2.3  PC端采用LabWindowsCVI实现电压输入(PPI协议)\AI_PLC.prj

     文件       3744  2003-01-01 06:42  01 实例源程序\6.2.3  PC端采用LabWindowsCVI实现电压输入(PPI协议)\AI_PLC.uir

     文件     871059  2003-01-01 01:15  01 实例源程序\6.2.3  PC端采用LabWindowsCVI实现电压输入(PPI协议)\AI_PLC_dbg.cdb

     文件     558592  2003-01-01 01:15  01 实例源程序\6.2.3  PC端采用LabWindowsCVI实现电压输入(PPI协议)\AI_PLC_dbg.exe

     文件     109269  2003-01-01 01:15  01 实例源程序\6.2.3  PC端采用LabWindowsCVI实现电压输入(PPI协议)\cvibuild.AI_PLC\AI_PLC.nidobj

     文件       1271  2011-03-25 18:30  01 实例源程序\6.2.3  PC端采用LabWindowsCVI实现电压输入(PPI协议)\cvibuild.AI_PLC\build.ini

     文件          4  2003-01-01 01:15  01 实例源程序\6.2.3  PC端采用LabWindowsCVI实现电压输入(PPI协议)\cvibuild.AI_PLC\dependencies.bri

     文件     298012  2003-01-01 01:15  01 实例源程序\6.2.3  PC端采用LabWindowsCVI实现电压输入(PPI协议)\cvibuild.AI_PLC\resources.res

     文件          8  2003-06-03 17:05  01 实例源程序\6.2.4  PC端采用KingView实现电压输入(PPI协议)\AI方法1\action.cfg

     文件         59  2011-01-25 14:28  01 实例源程序\6.2.4  PC端采用KingView实现电压输入(PPI协议)\AI方法1\appscrip.cfg

     文件     180736  2011-01-25 14:28  01 实例源程序\6.2.4  PC端采用KingView实现电压输入(PPI协议)\AI方法1\comdev.dat

     文件        561  2003-06-03 17:05  01 实例源程序\6.2.4  PC端采用KingView实现电压输入(PPI协议)\AI方法1\customscript.cfg

     文件         10  2009-07-26 14:25  01 实例源程序\6.2.4  PC端采用KingView实现电压输入(PPI协议)\AI方法1\datachan.cfg

     文件          9  2011-01-25 14:28  01 实例源程序\6.2.4  PC端采用KingView实现电压输入(PPI协议)\AI方法1\DBFlag.dat

     文件      17408  2011-01-25 14:28  01 实例源程序\6.2.4  PC端采用KingView实现电压输入(PPI协议)\AI方法1\Device.dat

     文件          4  2003-06-04 19:55  01 实例源程序\6.2.4  PC端采用KingView实现电压输入(PPI协议)\AI方法1\ExceptionFlag.dat

     文件          8  2003-06-04 19:54  01 实例源程序\6.2.4  PC端采用KingView实现电压输入(PPI协议)\AI方法1\ExceptionTime.dat

     文件         17  2011-01-25 14:28  01 实例源程序\6.2.4  PC端采用KingView实现电压输入(PPI协议)\AI方法1\group.dat

............此处省略536个文件信息

评论

共有 条评论