• 大小: 47.54MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-04
  • 语言: 其他
  • 标签: C#  步进电机  

资源简介

pmc007步进电机控制器源码以及编程指南

资源截图

代码片段和文件信息

// CANOpenTest.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“
#include “CANOpenTest.h“

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


//#define SDO_CALLBACK
// 唯一的应用程序对象

CWinApp theApp;

using namespace std;

DWORD g_dwNodeID = 0xFFFFFFFF;
HANDLE g_hNodeUp = NULL;
HANDLE g_hSDOResp = NULL;
DWORD g_dwFlowID = 0;
void SDOResponse(SDO_RESP *pResp);


PUSIResult __stdcall EventCallback(CB_TYPE callbackTypeLPVOID pData)
{
switch(callbackType)
{
case CBT_TRACE:
printf(“%s“(char*)pData);
break;
case CBT_SLAVE_STATUS_CHANGE:
{
STATUS_CHANGE *psc = (STATUS_CHANGE *)pData;;
//Trace(“Node:%dstatus:%d“psc->dwNodeIDpsc->status);
switch(psc->status)
{
case SLAVESTATUS_INIT:/* 从站正在初始化(也有可能处于掉线状态) */
RemoveNode(psc->dwNodeID);
if(g_dwNodeID == psc->dwNodeID)
g_dwNodeID = 0xffffffff;
break;
case SLAVESTATUS_STOP: /* 从站已停止 */
break;
case SLAVESTATUS_WORK: /* 从站正在工作 */
case SLAVESTATUS_PREWORK: /* 从站处于预工作状态 */
{
AddNode(psc->dwNodeID);
g_dwNodeID = psc->dwNodeID;
printf(“节点%d#上线!\n“psc->dwNodeID);
SetEvent(g_hNodeUp);
}
break;
case SLAVESTATUS_DISCONNECT: /* 从站未连接 */
RemoveNode(psc->dwNodeID);
if(g_dwNodeID == psc->dwNodeID)
g_dwNodeID = 0xffffffff;
break;
default:
break;
}
}
break;
case CBT_PDO_DATA:
{
CString strText;
PDO_DATA *pPDOData = (PDO_DATA*)pData;
printf(“receive PDO.\n“);
printf(“NodeID:%dPDO%d\n“pPDOData->dwNodeIDpPDOData->dwPDONum);
strText = “DATA:“;
for(DWORD i = 0;idwDataLen;i++)
{
strText.AppendFormat(“%.2X “pPDOData->pData[i]);
}
printf(“%s\n“strText);

}
break;
case CBT_SDO_RESP:
SDOResponse((SDO_RESP*)pData);
break;
default:
break;
}
return RET_SUCCESS;
}


void SDOResponse(SDO_RESP *pResp)
{
if(RET_SUCCESS == pResp->result)
{
int nSpeed = 0;
//printf(“NODE %d sdo response.\n“pResp->dwNodeID);
switch(g_dwFlowID)
{
case 2:
printf(“speed:%d\n“*(int*)(pResp->data));
break;
default:
break;
}
SetEvent(g_hSDOResp);
}
}

#define ERROR_HANDLE() {if(result!=RET_SUCCESS)return;}
void MotorControl(void)
{
#if 1
int speed = -32000;
BYTE tpdo[8];
DWORD dwLen = 0;
unsigned long step_set = 20000;
PUSIResult result = RET_SUCCESS;
#ifdef SDO_CALLBACK
g_dwFlowID++;
result = PUSICO_WriteSDOCallBack(g_dwNodeID0x60030(BYTE*)&speedDT_INT324); //设置速度
ERROR_HANDLE();
::WaitForSingleobject(g_hSDORespINFINITE);

g_dwFlowID++;
result = PUSICO_ReadSDOCallBack(g_dwNodeID0x60030DT_INT32); //读取速度
ERROR_HANDLE();
::WaitForSingleobject(g_hSDORespINFINITE);

g_dwFlowID++;
result = PUSICO_WriteSDOCallBack(g_dwNodeID0x60040(BYTE*)&step_setDT_UINT324); //启动步进
ERROR_HANDLE();
::WaitForSingleobject(g_hSDORespINFINITE);
#else
result = PUSICO_WriteSDO(g_dwNodeID0x60030(BYTE*)&s

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-05-06 09:59  产品使用手册\
     文件     4113159  2019-05-06 09:28  产品使用手册\pmc007cxsxp_user_manual_v0.2.0.pdf
     文件      570198  2019-05-06 09:28  产品使用手册\控制器离线编程指南.pdf
     目录           0  2019-05-07 08:19  例程-C#编程语言程序PUSICAN_customer - 副本\
     目录           0  2019-05-07 08:17  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\
     文件        5425  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\CANOpenTest(1).cpp
     文件       18140  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\CANOpenTest.aps
     文件          39  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\CANOpenTest.h
     文件        2644  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\CANOpenTest.rc
     文件        7931  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\CANOpenTest.vcxproj
     文件        1638  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\CANOpenTest.vcxproj.filters
     文件         143  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\CANOpenTest.vcxproj.user
     目录           0  2019-05-07 10:24  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\Debug\
     文件        2070  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\ReadMe.txt
     目录           0  2019-05-07 10:24  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\Release\
     文件         394  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\Resource.h
     文件         216  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\stdafx.cpp
     文件        2158  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\stdafx.h
     文件         236  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\targetver.h
     目录           0  2019-05-07 08:17  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\x64\
     目录           0  2019-05-07 10:24  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\x64\Debug\
     目录           0  2019-05-07 10:24  例程-C#编程语言程序PUSICAN_customer - 副本\CANOpenTest\x64\Release\
     目录           0  2019-05-07 08:18  例程-C#编程语言程序PUSICAN_customer - 副本\Debug\
     文件      125440  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\Debug\CANOpen.dll
     文件        4704  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\Debug\CANOpen.lib
     文件       51712  2019-05-06 09:35  例程-C#编程语言程序PUSICAN_customer - 副本\Debug\CANOpenTest.exe
     文件       53248  2019-05-06 09:36  例程-C#编程语言程序PUSICAN_customer - 副本\Debug\ControlCAN.dll
     文件       36864  2019-05-06 09:36  例程-C#编程语言程序PUSICAN_customer - 副本\Debug\ControlCAN_cx.dll
     文件       94208  2019-05-06 09:36  例程-C#编程语言程序PUSICAN_customer - 副本\Debug\ECanVci.dll
     文件      600064  2019-05-06 09:36  例程-C#编程语言程序PUSICAN_customer - 副本\Debug\LM_USB.dll
     文件        5853  2019-05-06 09:36  例程-C#编程语言程序PUSICAN_customer - 副本\Debug\PMC007xx.config
............此处省略438个文件信息

评论

共有 条评论