資源簡介
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個文件信息
評論
共有 條評論