c++读取倍福PLC中轴状态

本文介绍了如何使用C++编程从倍福(Beckhoff)PLC中读取轴的状态信息,强调了获取数据后如何将这些信息存储到相应的结构体中,同时提到了结构体的定义和转换函数的实现。
摘要由CSDN通过智能技术生成

具体从PLC读取函数查看官方手册,在此主要写一下获取数据后存储到对应结构体

结构体头文件

#ifndef MSTC_H
#define MSTC_H

//! 与beckhoff交互信息结构体
//! 与beckhoff端结构体定义一致
/*******************************************************************************************
* 文件名:mSTc.h
* 编制日期:2018.11.13
* 作者:Kare
* 功能:
*	bk_ctlStatus 定义与BECKHOFF控制器通信的结构体,与在BECKHOFF PLC内的结构体一致
********************************************************************************************/


#include "mMacro.h"
#include <vector>

using namespace std;
//! 按照单字节对齐,需要与PLC端定义一致。不需要优化。
#pragma pack(push)
#pragma pack(1) 

//! beckhoff结构体 NCTOPLC_AXLESTRUCT
struct Nc2Plc
{
	BK_DWORD nStateDWord; //Status double word 
	BK_DWORD nErrorCode; // Axis error code 
	BK_DWORD nAxisState; // Axis moving status 
	BK_DWORD nAxisModeCon; // Axis mode confirmation (feedback from NC) 
	BK_DWORD nCalibrationState; // State of axis calibration (homing) 
	BK_DWORD nCoupleState; // Axis coupling state 
	BK_DWORD nSvbEntries; // SVB entries/orders (SVB = Set preparation task) 
	BK_DWORD nSafEntries; // SAF entries/orders (SAF = Set execution task 
	BK_DWORD nAxisId 	; // Axis ID 
	BK_DWORD nOpModeDWord; // Current operation mode 
	BK_DWORD nReserved2_HIDDEN; // reserved 
	BK_LREAL fPosIst; // Actual position (absolut value from NC) 
	BK_LREAL fModuloPosIst; // Actual position as modulo value (e.g. in degrees) 
	BK_DINT nModuloTurns; 	// Actual modulo turns 
	BK_LREAL fVeloIst; // Actual velocity (optional) 
	BK_LREAL fPosDiff; // Position difference (lag distance) 
	BK_LREAL fPosSoll; // Setpoint position 
	BK_LREAL fVeloSoll; // Setpoint velocity 
	BK_LREAL fAccSoll; // Setpoint acceleration, OLD: "fReserve1_HIDDEN" 
	BK_LREAL fR
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值