在编写PMAC卡上位机程序时,我们经常需要和下位机打交道,常见的操作对象为电机、程序、P参数、I参数,据此,我利用设计模式中的工厂模式和单例模式设计了这个类库,实际使用非常方便。

简介

类库文件以Ctrl开头,包含的对象如下
CCtrlPmac(PMAC卡对象)
CCtrlMotor(电机对象)
CCtrlProg(运动程序和PLC程序对象)
CCtrlParam(P参数对象)
CCtrlIO(IO口或I参数对象)

使用时在CCtrCenter类中分配相关对象(PMAC卡、电机、程序、IO口、参数)即可进行相关操作
使用前一定要调用初始化PMAC卡链接PMAC和初始化各种对象

接口说明

1.PMAC卡对象

int GiveCommand(LPCTSTR szCommand);
int GetResponse(LPTSTR szResponse, LPCTSTR szCommand);
short int GetShort(const char cType, const UINT nIndex, const short int snDef=0);
long GetLong(const char cType, const UINT nIndex, const long lnDef=0);
double GetDouble(const char cType, const UINT nIndex, const double dbDef=0);
void SetShort(const char cType, const UINT nIndex, const short int snValSet);
void SetLong(const char cType, const UINT nIndex, const long lnValSet);
void SetDouble(const char cType, const UINT nIndex, const double dbValSet);
BOOL DownloadFile(PCHAR szFileName);

2.电机对象

void Enable();
void Disable(); 
void JogMoveTo(const double dPosition);
void JogMove(const double dDisatance);
void SetJogSpeed(const double dSpeed);
void SetJogAccelTime(const long lnTime);
void SetJogSAccelTime(const long lnTime);
double GetCurPosition();
double GetCurSpeed();
void Home();

3.运动程序和PLC程序对象

void Run();
void Stop();
void Enable();
void Disable();
BOOL Download(PCHAR szFileName );

4.P参数对象

void CCtrParam::SetDouble( const UINT uIndex, const double dbValue);
double GetDouble(const UINT uIndex);
void SetLong(const UINT uIndex, const long lnValue);
long GetLong(const UINT uIndex);

5.IO口或I参数对象

void On(const UINT uIndex);
void Off(const UINT uIndex);
BOOL GetState(const UINT uIndex);

测试界面

1.png

下载

完整测试程序源代码(包含JWPmac库)下载地址