资源简介
这是一个和台达的通信DLL 还不是很完善,这是我在做项目时候的一部分,所以只是完成了自己的功能,大家能用的上的,可以下载
代码片段和文件信息
// plcdll.cpp : Defines the initialization routines for the DLL.
//
#include “stdafx.h“
#include “plcdll.h“
#include “stdio.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define LoByte(x) ((char)((x) & 0x0F))//获取低位
#define HiByte(x) ((char)((x) >> 4))//获取高位
BYTE GetCheckCode(char * pSendBuf int nEnd);//获得校验码
int OpenCom(int iComchar *SendBuf);//串口打开
//
// Note!
//
// If this DLL is dynamically linked against the MFC
// DLLs any functions exported from this DLL which
// call into MFC must have the AFX_MANAGE_STATE macro
// added at the very beginning of the function.
//
// For example:
//
// extern “C“ BOOL PASCAL EXPORT ExportedFunction()
// {
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
// // normal function body here
// }
//
// It is very important that this macro appear in each
// function prior to any calls into MFC. This means that
// it must appear as the first statement within the
// function even before any object variable declarations
// as their constructors may generate calls into the MFC
// DLL.
//
// Please see MFC Technical Notes 33 and 58 for additional
// details.
//
/////////////////////////////////////////////////////////////////////////////
// CPlcdllApp
BEGIN_MESSAGE_MAP(CPlcdllApp CWinApp)
//{{AFX_MSG_MAP(CPlcdllApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPlcdllApp construction
CPlcdllApp::CPlcdllApp()
{
// TODO: add construction code here
// Place all significant initialization in InitInstance
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CPlcdllApp object
CPlcdllApp theApp;
/* 程序功能:
核子秤的流量以4-20ma的形式输出。累计量以吨脉冲的形式输出。
输出介质台达DVP SS系列PLC。
编写时间:06-05-20。
北京市煤炭矿用机电设备开发公司
*/
int FlowOutput(int nCountfloat fCurFlowint nChannelsint iCom)
{
/*
函数说明:流量输出到PLC 的DA模块(4-20ma)
参数说明:nCount: 秤总数;
fCurrFlow: 各台秤的实时流量;
nChannels: 选择的通道;
最后修改日期:06-05-20
*///通信协议 例子 3A 30 31 30 35 30 43 30 30 46 46 30 30 45 46 0D 0A
char tdat[17]buf[4]LoTemp[1]HiTemp[1];
int iCurFlow=0;
iCurFlow=(int)fCurFlow;
sprintf(buf“%04X“iCurFlow);
tdat[0]=0x3A;tdat[1]=0x30;tdat[2]=0x31;tdat[3]=0x30;tdat[4]=0x36;
tdat[5]=0x31;tdat[6]=0x30;tdat[7]=0x30;tdat[8]=0x41;tdat[15]=0x0D;tdat[16]=0x0A;
switch(nChannels)//D0-D11 寄存器的位置
{
case 0:
tdat[8]=0x30;
break;
case 1:
tdat[8]=0x31;
break;
case 2:
tdat[8]=0x32;
break;
case 3:
tdat[8]=0x33;
break;
case 4:
tdat[8]=0x34;
break;
case 5:
tdat[8]=0x35;
break;
case 6:
tdat[8]=0x36;
break;
case 7:
tdat[8]=0x37;
break;
case 8:
tdat[8]=0x38;
break;
case 9:
tdat[8]=0x39;
break;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2006-09-04 13:45 plcdll
文件 322 2006-05-18 16:57 plcdll\plcdll.clw
文件 2564 2006-05-18 16:57 plcdll\ReadMe.txt
文件 1253 2006-05-18 16:57 plcdll\plcdll.h
文件 1447 2006-05-18 16:57 plcdll\StdAfx.h
文件 208 2006-05-18 16:57 plcdll\StdAfx.cpp
文件 381 2006-05-18 16:57 plcdll\Resource.h
文件 3065 2006-05-18 16:57 plcdll\plcdll.rc
文件 58368 2006-09-04 13:43 plcdll\plcdll.ncb
文件 1715 2006-09-27 10:08 plcdll\plcdll.plg
文件 17920 2006-09-06 09:23 plcdll\plcdll.aps
文件 745 2006-09-04 13:41 plcdll\plcdll.dsw
文件 59904 2006-09-04 13:43 plcdll\plcdll.opt
目录 0 2006-09-04 13:46 plcdll\res
文件 398 2006-05-18 16:57 plcdll\res\plcdll.rc2
文件 15 2006-09-21 10:18 plcdll\outDA.txt
文件 276 2006-09-25 15:42 plcdll\plcdll.def
文件 4071 2006-09-25 16:41 plcdll\plcdll.dsp
文件 11352 2006-09-26 08:55 plcdll\plcdll.cpp
----------- --------- ---------- ----- ----
164004 19
- 上一篇:GBK点阵字库
- 下一篇:VS2013官方简体中文语言包
评论
共有 条评论