版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
版本升级说-3上版本总页编写工程排版工程校对记日版本/页结确版本升级说-3上版本总页编写工程排版工程校对记日版本/页结确-4目录资源介绍 .-8存器9运行控制位寄存..............................................................................................................-10-运行控制字寄存器13CNC30目录资源介绍 .-8存器9运行控制位寄存..............................................................................................................-10-运行控制字寄存器13CNC30PMC轴控参数寄存器31PMC开发库函数详解361.1.通讯管理函数类361.1.1.COMM_LibVer()...........................................................................................................................-37 .-37 .-38 .-381.1.5.COMM_CloseNetConn( .-39 .-40 .-40 .-41 .-411.1.10.COMM_AsciiToByte( .-42 .-42 .-431.2.加工管理函数 .-431.2.1.WORK_SelectComm()..................................................................................................................-441.2.2.WORK_GetCommInfo( .-44 .-45 .-45 .-46 .-47 .-48 .-49 .-491.3.参数管理函数 .-511.3.1.PARA_SelectComm()....................................................................................................................-53-51.3.2.PARA_GetCommInfo( .-541.3.3.PARA_GetParaVerify( .-541.3.4.PARA_GetParaInfo( .-1.3.2.PARA_GetCommInfo( .-541.3.3.PARA_GetParaVerify( .-541.3.4.PARA_GetParaInfo( .-541.3.5.PARA_ReadParaTab( .-551.3.6.PARA_TabToSort( .-55 .-55 .-57 .-571.3.10.PARA_ReadMultValue( .-581.4.文件管理函数 .-591.4.1.FS_SelectComm()..........................................................................................................................-61 .-62 .-621.4.4.FS_FOpen( .-631.4.5.FS_FRead( .-63 .-641.4.7.FS_FClose( .-64 .-641.4.9.FS_FSeek( .-66 .-66 .-67 .-67 .-68 .-682.PMC开发库使用导 .-69---工业触摸屏编程 .-711.步科的工业触摸屏实 .-71-1.2.741.3.75-6件设 .-76-件设 .-76-7第一开放资源介绍 资源表采用统一第一开放资源介绍 资源表采用统一编址方式进行资源调用和传递宏地址指向的是其他类型的变量则会将其他变量的值转换进行处理,在取值时要注意这点32位浮点值给到G代PLC&ModBus地址是用于内部PLC或者外部设备通过Modbus进行访问时的地址符,PLCNC16位整型寄存器,如果指向的是一个浮点或32位的整型数据,则会占用两个连续的地址号来拼凑成32例如地址R5042代表的是进给速度,但进给速度是32位整型的数据,那么读回来则占用了R5042,R5043两个16位地址来共同表达32位整型;R504216位数据,504316如果直接读R5043,则会因为数据边界不对齐而读取失败,或返回空值系统的变量类型和访问权限的定义*08161616323232位浮点数据(32-bitIEEE-754)具备读权限具备可读可写权限(ReadorWrite)-8注:CNC特殊操作寄存器的访问同样遵循Modbus的协议格式,在访问数据时,需要顺算的高级语言编程使用,对于PLC与触摸屏的访问可能会存在⼀定困难。-9*特殊文件访问命令寄存*特殊文件访问数据寄存*特殊文件访问数据长度寄存*特殊文件访问数据位置寄存*特殊文件访问错误及状态寄存505~注:CNC特殊操作寄存器的访问同样遵循Modbus的协议格式,在访问数据时,需要顺算的高级语言编程使用,对于PLC与触摸屏的访问可能会存在⼀定困难。-9*特殊文件访问命令寄存*特殊文件访问数据寄存*特殊文件访问数据长度寄存*特殊文件访问数据位置寄存*特殊文件访问错误及状态寄存505~保*特殊参数管理命令寄存*特殊参数管理数据寄存*特殊参数管理数据长度寄存*特殊参数管理数据位置寄存*特殊参数管理错误及状态寄存525~保*特殊多寄存器访问命令寄存*特殊多寄存器访问数据寄存*特殊多寄存器访问数据长度寄存*特殊多寄存器访问数据位置寄存*特殊多寄存器访问错误及状态寄存545~保CNCCNCIO状态及对可控制的输出端口进行控-10CNCCNCIO状态及对可控制的输出端口进行控-10PLCR0~-1124:手轮25:手轮-1124:手轮25:手轮轴选26:手轮27:手轮轴选28:手轮29:手轮轴选30:手轮31:手轮轴选32:手轮33:手轮34:伺服X报35:伺服Y报36:伺服Z报37:伺服A报其它位地址保留未R500~-12540:RUN灯(只针541:ALARM-12540:RUN灯(只针541:ALARM灯(只CNC8860)R1000~位地址对应的面板LED输出端口:其它位地址保留未R1280~保G代码的执行状态等同时寄存器一览-G代码的执行状态等同时寄存器一览-13PLC访问权对应IO0~367,例01…7对应IO0~367,每个地址16IONN0…2对应IO0~367,例…对应IO0~367,每个地址16IO…对应LED输出0~175,例-14…LED0~175,每个地…128节当前报警提示信息内容字符UTF8编码格式-14…LED0~175,每个地…128节当前报警提示信息内容字符UTF8编码格式128节警状态第0位128节警状态第1位128节警状态第2位128节警状态第3位128节警状态第4位128节警状态第5位128节警状态第6位128节警状态第7位128节警状态第8位128字自定义报警信息9,对应外部-15数94128节自定义报警信息10,对应外部报警状态第10位8128节自定义报警信息11,对应外部报警状态第11位128节自定义报警信息12,对应外部报警状态第12位128节自定义报警信息13,对应外部报警状态第13位128节串行报警信息14,对应外部报警状态第14位128节警告位报警信息15,对应外部报警状态第15-15数94128节自定义报警信息10,对应外部报警状态第10位8128节自定义报警信息11,对应外部报警状态第11位128节自定义报警信息12,对应外部报警状态第12位128节自定义报警信息13,对应外部报警状态第13位128节串行报警信息14,对应外部报警状态第14位128节警告位报警信息15,对应外部报警状态第15位240节字符编码格式为UTF8的格式。128节G128节G128节G128节G128节G3528~保系统功能信号状态映器0:安全信1:气压信2:夹料信3:系统油4:对刀仪检-165:报警6:运行7:润滑输8:冷却输9:主轴正转输10:主轴反转输11:系统油压检-165:报警6:运行7:润滑输8:冷却输9:主轴正转输10:主轴反转输11:系统油压检12:主轴警报检13:变频警报检14:对刀仪吹气输15:对刀仪限位检系统功能信号状态映器0:外部急停1:外部启动2:外部暂停3:手轮4:手轮5:手轮6:手轮轴选7:手轮轴选8:手轮轴选9:手轮轴选10:手轮11:手轮12:手轮工件加工工件最大加工当前系统内部按系统外部按键响应(注当前系统控制模-170:录1:自2:手4:归插补倍快移倍主轴倍手动倍编程速实际速手动速主轴状-170:录1:自2:手4:归插补倍快移倍主轴倍手动倍编程速实际速手动速主轴状~1:加载就2:正在加BIT7~BIT0加载进度,值范100加工文件程序16字节所有加工程序存放在控制器的固定目录下系统报警号(注字符编码为UTF8格式。T1:单BT~I5:保-18B1:运2:暂3:单节暂-18B1:运2:暂3:单节暂~14产生的报警内容可读取对应自1:X2:Y3:Z4:A;;~BT读写):决定BIT0控制否有效(0-无效,1-有效B1-断点执行的提示信息可以自行叙述打印,亦可读取地址2588寄存器组的内容进行打印显示加工模0:本地文件加工模1:在线加工模式89W在线加工操作命读:剩余存储块数写:写任意值清空缓据最大240字节。为数据长度;其余的为数据内即数据帧格式为序号+长度N+N个数240节当前代码运行位置(只限寄存器组的内容进行打印显示加工模0:本地文件加工模1:在线加工模式89W在线加工操作命读:剩余存储块数写:写任意值清空缓据最大240字节。为数据长度;其余的为数据内即数据帧格式为序号+长度N+N个数240节当前代码运行位置(只限归零标志及当前归零状态:高8态0归零动作结束,1表示正在执行归零动~保G码0组模态G码1组模态G码2组模态G码3组模态G码4组模态G码5组模态G码6组模态-19-20G码7组模态G码8组模态G码9组模态G码10组模态4011~保刀具半径补偿编号刀具长度补偿编号辅助功能M代当前程序编号O字段4116~保刀具功能号4121~保X轴-20G码7组模态G码8组模态G码9组模态G码10组模态4011~保刀具半径补偿编号刀具长度补偿编号辅助功能M代当前程序编号O字段4116~保刀具功能号4121~保X轴绝对Y轴绝对Z轴绝对坐A轴绝对B轴绝对C轴绝对5012~保X轴相对Y轴相对Z轴相对坐A轴相对B轴相对C轴相对5032~保X轴机械Y轴机械Z轴机械位A轴机械-218B轴机械0C轴机械保0X轴反馈2Y轴反馈Z轴反馈位A轴反馈B轴反馈C轴反馈5068~保X轴刀具位置补偿Y-218B轴机械0C轴机械保0X轴反馈2Y轴反馈Z轴反馈位A轴反馈B轴反馈C轴反馈5068~保X轴刀具位置补偿Y轴刀具位置补偿Z轴刀具位置补偿A轴刀具位置补偿5088~保X轴外部写正值:X轴正方向运行写负值:X轴负方向运行写零值:X轴立即停止Y轴外部写正值:Y轴正方向运行写负值:Y轴负方向运行写零值:Y轴立即停止Z轴外部手写负值:Z轴负方向运行写零值:Z轴立即停止A轴外部写正值:A轴正方向运行写负值:A轴负方向运行写零值:A轴立即停止B轴外部写正值:B轴正方向运-22写负值:B轴负方向运行写零值:B轴立即停止C轴外部写正值:C轴正方-22写负值:B轴负方向运行写零值:B轴立即停止C轴外部写正值:C轴正方向运行写负值:C轴负方向运行写零值:C轴立即停止6100~0~BT:000:目I:文件0大小(单位:Byte)20000~BT:110:目I:文件1大小(单位:Byte)20008~…T0:目1:文-23BIT30~BIT0文件255大小22040~22045:目录255/文255名:当前目录路:进入选中目D盘根“\U当前路径下目录和文件总个所-23BIT30~BIT0文件255大小22040~22045:目录255/文255名:当前目录路:进入选中目D盘根“\U当前路径下目录和文件总个所要删除的加工文件名所要复制的加工文件名所要粘贴的加工文件名进入编辑状态的G代码总行当前编辑窗口起始行编当前编辑窗口结尾行编编辑窗口当前行编号编辑窗口操作命1:光标左2:光标右3:光标上4:光标下5:当前行回车6:向上翻7:向下翻8:删除当前9:保存编辑后的G10:退格删G代码编辑内容G代码编辑内容G代码编辑内容G代码编辑内容G代码编辑内容G代码编辑内容-24键值键值停止状态下有自动模停止状态下有手动模停止状态下有录入模停止状态下有手轮模停止状态下有归零模归零模式下有X归零模式下有Y归零模式下有Z归零模式下有A归零模-24键值键值停止状态下有自动模停止状态下有手动模停止状态下有录入模停止状态下有手轮模停止状态下有归零模归零模式下有X归零模式下有Y归零模式下有Z归零模式下有A归零模式下有所有轴归零操主轴启动的情况下有转速自减操主轴启动的情况下有转速自加操自动模式下有倍率自减操自动模式下有倍率自加操手动模式下有X手动模式下有XG代码编辑内容G代码编辑内容G代码编辑内容G代码编辑内容G代码编辑内容G代码编辑内容G代码编辑内容G代码编辑内容G代码编辑内容G代码编辑内容手动模式下有Y手动模式下有Y手动模式下有Z手动模式下有Z手动模式下有A手动模式下有A正反清润跳单暂启复-25系统报警说无报警(系统默认值程序结没有指定运动函没有G代手动模式下有Y手动模式下有Y手动模式下有Z手动模式下有Z手动模式下有A手动模式下有A正反清润跳单暂启复-25系统报警说无报警(系统默认值程序结没有指定运动函没有G代码获取行代码函换刀失刀具无G程序段重复错G程序段程序号错G7x8x复合指令代码无法正常运指定端口号错程序异常终止错M01-26不存在指定程序M98调用运动执行失本段不需要补G程序段无效格G程序重新运行,M99指令,此报警属于正常运动报警,用来刷-26不存在指定程序M98调用运动执行失本段不需要补G程序段无效格G程序重新运行,M99指令,此报警属于正常运动报警,用来刷新计运动异常报非法字注释符格式错误或者无对称注释GG代码补偿号或者值错未定义G代码半径补偿错圆弧编程错非法指定平面 之外平M98调用错误,可能超过最大主轴指定硬件轴号错M主轴指定失运动重复请指定圆弧不存XYZABCDRFTSP-27指令错指令错令错令错指令错Q螺距值重复指定错系统发生警报异常退人为干预退G无指定G代码程序号表格存储地-27指令错指令错令错令错指令错Q螺距值重复指定错系统发生警报异常退人为干预退G无指定G代码程序号表格存储地宏功能调用错宏表达式书写异宏变量地址错非法变量跳转语句发生错宏循环语句配对错宏循环语句嵌套错宏循环语句嵌套调用过多,超出最多层没有定义宏变量获取地址函宏定义信息输出,不报宏定义报警输常量引用错上一段轨迹i_gcode属性值错下一段轨迹i_gcode属性值错起始补偿点圆弧进结束补偿点圆弧退在补偿过程中上一段轨迹的起点位置和终点位置相在补偿过程中下一段轨迹的起点位置和终点位置相G0203R半径补偿过程中遇到不能切换的G代NURBS节点过NURBS参数错-28复合程式记忆程序段数过多溢出错复合程式存在表达式错UWG未定义零-28复合程式记忆程序段数过多溢出错复合程式存在表达式错UWG未定义零紧急停XYZA轴号重定义错主轴未归零错模具夹未锁紧错信号未被检测到重定气压不夹料信号无效报油压报主轴发生警变频器发生警放刀失抓刀失刀库门检测错卡销检测错松刀检测错放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀信号未被检测到重定气压不夹料信号无效报油压报主轴发生警变频器发生警放刀失抓刀失刀库门检测错卡销检测错松刀检测错放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀失对刀仪限位报附加面板工作异预处理外部异常终止程序执自定义宏程序重复调用次数溢加工代码在运行中检测编程坐标值超软限位设定的-29CNC参数寄存器用于存储当前CNC 进行访问,也可以被宏代码进行调用访问PLC-30 对应#100~#199CNC参数寄存器用于存储当前CNC 进行访问,也可以被宏代码进行调用访问PLC-30 对应#100~#199 保 对应#500~#999 保 综合参数 轴配置参 管理参 主轴参10000~ 端口配 保~60299PMC60100~60199为一轴参数控制为二轴参数控制地址区。每个控制轴都能够选定1~~60299PMC60100~60199为一轴参数控制为二轴参数控制地址区。每个控制轴都能够选定1~6轴中的任意CNC88604CNC5、6轴则可以用来进行PMC编程使用。-31地址(i为0轴号,0表示该轴无用。CNC8860控制器应设置为5,6轴号。9轴特性和脉冲模式设置(修BIT3:轴0旋转;1BIT2:脉冲方向逻方向输出正逻辑方向输出负逻辑BIT1:脉冲逻正逻辑脉冲负逻辑脉冲BIT0:脉冲方脉冲+脉冲脉冲+方向6轴硬件限位模式设正限位无效正限位有效负限位无效负限位有效-32低电平停止高电平停止00硬件原点信号无效-32低电平停止高电平停止00硬件原点信号无效硬件原点信号有效低电平有效高电平有效01硬件原点信号无效硬件原点信号有效低电平有效高电平有效40不停止 1停止BIT0:轴报警有效电0低电平;1(伺服轴归零使能及方向配伺服Z相零点低电平有效伺服Z相零点高电平有效ZZ外部零点低电平有效外部零点高电平有效-33外部零点禁止外部零点使能正方向归零负方向归零轴硬件正限位输入端口轴硬件负限位输入端口0外部零点输入端口伺服轴报警输入端口伺服轴复位输出端口轴起始速-33外部零点禁止外部零点使能正方向归零负方向归零轴硬件正限位输入端口轴硬件负限位输入端口0外部零点输入端口伺服轴报警输入端口伺服轴复位输出端口轴起始速轴加速轴快移速轴手动速轴归零加速轴归零速轴归零减速速轴归零零点扫描速0-~轴零点脉冲偏移轴最大约束加速轴最大约束速-~轴正向软限位脉冲--~轴负向软限位脉冲轴ROUND设定值(作为旋转-34地址(i为轴实际位置脉冲轴逻辑位置脉-34地址(i为轴实际位置脉冲轴逻辑位置脉冲R轴当前速R轴当前状BIT0:轴运行状0停止状 1运行状RBIT5:负向软限位报警0无效1BIT4:正向软限位报警0无效1BIT3:负向硬限位报警0无效1BIT2:正向硬限位报警0无效1BIT1:伺服报 0无效1有BIT0:轴未归零报 0无效1有认为1,此时若执行了除“归零”指令外的其它轴运动指令会产生“轴未归零报警。成功执行归零指令后,BIT0位会自动置为0,表示轴已经成功归零,BIT0:轴归零情0已归 1未归-35轴控制命0x00:清除报警信息-35轴控制命0x00:清除报警信息0x01:立即停止0x02:减速停止0x07:轴归零操作WW1.PMC数据类型声明如下typedefchar1.PMC数据类型声明如下typedefchartypedefshorttypedefinttypedeftypedefint//16//32//布尔型.//***************通讯端口配置//MODBUS传输端口数目暂定66个-012345//无效端//TCP//UDP//***************串口通讯模式 -36讯管理函数//通讯无//通讯端口号错//通讯设//执行失1.1.1.COMM_LibVer(示例voidmain(讯管理函数//通讯无//通讯端口号错//通讯设//执行失1.1.1.COMM_LibVer(示例voidmain({//打印库版本信printf("Libraryversion%.2f",}COMM_ParaInit(-37函数名void_stdcall功能描通讯参数初始化函数输入参无输出参无返回无注意事函数名功能描通讯库版本,通过该函数可以获取当前库的版本,便于升级维护输入参无输出参无返回库版本号,格式为注意事无1.1.3.COMM_UartInit(示例voidmain({//打开串口0,波特率115200,8位数据位位停止位,无1.1.3.COMM_UartInit(示例voidmain({//打开串口0,波特率115200,8位数据位位停止位,无校验{printf(“打开串口成功}}COMM_NetConnect(-38函数名INT8U_stdcallCOMM_NetConnect(INT8UNetPort,INT32S功能描进行TCP/UDP连接,并用设备号与IP地址进行对应的映输入参 4TCP连接端口,5UDP 网络通讯对应的设备号,范围(0~255) 连接的服务端IP地址 连接的服务端通讯端口号(一般通讯固定 输出参无返回 正函数名INT8U_stdcallCOMM_UartInit(INT8UUartPort,INT32UUartBaud,功能描初始化打开串口,对串口进行通讯配置输入参 串口数据位(5,6,7,8位四种方式) 串口停止位(1,2位两种方式) 串口校验位(无校验,奇校验,偶校验三种方式输出参无返回 正注意事无uiConIp=//UDP1IP:00,端口号:502if(COMM_NetConnect(COMM_UDP_PORT1uiConIp502COMM_NO_ERR)uiConIp=//UDP1IP:00,端口号:502if(COMM_NetConnect(COMM_UDP_PORT1uiConIp502COMM_NO_ERR){printf(“连接成功}}1.1.5.COMM_CloseNetConn(示例voidmain({//UDP1{printf(“连接关闭成功}}1)==-39函数名功能描关闭与对应设备的连接,只针对TCP/UDP连接的使输入参 4TCP连接端口,5UDP 网络通讯对应的设备号,范围(0~输出参无返回 正注意事1.1.6.COMM_ClosePort(示例voidmain({ //TCP1.1.6.COMM_ClosePort(示例voidmain({ //TCP//UDP}-40函数名BOOL_stdcallCOMM_SetTimesOut(INT8Uport,INT16Utimeouts,功能描设置相应端口的通讯超时时间和异常重发次输入参 通讯端口 输出参无返回 正注意事无函数名功能描输入参 0~50,1,2,3为串口4TCP网络;5为UDP网络)输出参无返回 正注意事esOut(应端口的通讯超时时间和异常重发次通讯端口输出esOut(应端口的通讯超时时间和异常重发次通讯端口输出参返回正注意事无示例voidmain({INT8Urepeat_times;INT16Utimeouts;//设置COMM_UART_PORT0串口超时时间为1000ms,超时最多重发4//获取COMM_UART_PORT0串口设置的超时时间和最多重发次COMM_GetTimesOut(COMM_UART_PORT0,&timeouts,//打印获取的超时时间和最多重发次printf(“timeouts=%d,repeat_times=%d\n”,timeouts,}1.1.9.COMM_ByteToAscii(-41函数名功能描字节数据转ASCII字输入参 要转换的数输出参 存放转换后的ASCII值的数 数组数据的位置(数据访问后会指向下一数据位置返回无注意事无示例voidmain({INT8Udata;INT8Uch[5];offset=COMM_ByteToAscii(0x12,ch,COMM_ByteToAscii(0x34, //将0x12示例voidmain({INT8Udata;INT8Uch[5];offset=COMM_ByteToAscii(0x12,ch,COMM_ByteToAscii(0x34, //将0x12转换为字符’1’、’2’//添加结ch[4]=//打印结果:ch:1234,offset:printf(“ch:%s,offset:%d”,ch,offset=COMM_AsciiToByte(&data,ch,&offset);COMM_AsciiToByte(&data,ch,&offset);}COMM_Send(-42函数名功能描向指定串口发送数据函函数名void_stdcallCOMM_AsciiToByte(INT8U*data,INT8U*ch,功能描ASCII字符转字节数输入参 存放转换ASCII值为数据的数 数组数据的位置(数据访问后会指向下一数据位置输出参 转换后的数返回无注意事无发送数据长发送的数据长注意事该函数发送的数据直接通过相应串口发送数据长发送的数据长注意事该函数发送的数据直接通过相应串口COMM_Recv(1.2.加工管理函数//加工管理操作命//无效命//复位命//写入不连续寄存器地址和相应长度命//扩展型读写不连续寄存器地址和相应#define#defineWORK_READDATAEXT#define//读多个不连续寄存器数//写多个不连续寄存器数//错误类型定//操作无//无效的//读无效的数//命令长度错//读命令-43函数名功能描串口读数据函输入参 通讯端口 指定读取数据长输出参 读取数据存储返回返回实际接收到的数据长注意事该函数接收的数据直接来自相应串口//写命令//数据长度超出最大缓存区范//数据长度错//读数据//写数据//写命令//数据长度超出最大缓存区范//数据长度错//读数据//写数据//空地址//设备错//通讯超时错WORK_SelectComm(-44函数名INT8U_stdcallWORK_GetCommInfo(INT8U*port,INT32S功能描针对加工部分的数据访问,获取当前通讯连接状态输入参无输出参 通讯端口 从机设备 返回 正函数名INT8U_stdcallWORK_SelectComm(INT8Uport,INT32SiDevNum,mode,BOOL功能描针对加工部分的数据访问,选择设置相应的通讯连接输入参 通讯端口 从机设备 输出参无返回 正注意事无INT8Umode;BOOL//选择COMM_UART_PORT0串口,站号为1,RTU通讯模式,通讯使能WORK_SelectComm(COMM_UART_PORT0,1,//INT8Umode;BOOL//选择COMM_UART_PORT0串口,站号为1,RTU通讯模式,通讯使能WORK_SelectComm(COMM_UART_PORT0,1,//获取加工类通讯信printf(“port=%d,iDevNum=%d,mode=%d,bEnable=%d\n”,port,iDevNum,mode,}WORK_ReadInBit(WORK_ReadBit(-45函数名INT8U_stdcallWORK_ReadBit(INT16UnAddr,INT8U*pBuff,功能描读一个或多个连续位寄存器地址的状态输入参 位寄存器首地 要访问的位个函数名INT8U_stdcallWORK_ReadInBit(INT16UnAddr,INT8U*pBuff,功能描读一个或多个连续输入位寄存器地址的状态输入参 位寄存器首地 要访问的位个输出参 存放读出的位状态数返回 正注意事无1.2.5.WORK_WriteBit(示例voidmain({intINT8Umemset(rSta,0,//读出1.2.5.WORK_WriteBit(示例voidmain({intINT8Umemset(rSta,0,//读出位地址为100开始的连10个只读输入点的状{}for(i=0;i<10;{printf(“%d, //打印输入状}-46函数名INT8U_stdcallWORK_WriteBit(INT16UnAddr,INT8U*pBuff,功能描写一个或多个连续位寄存器地址的状态输入参 位寄存器首地 存放要写入的位状态数 要访问的位个输出参无返回 正注意事无输出参 存放读出的位状态数返回 正注意事无)==0)?1:{)==0)?1:{}memset(rSta,0,if(WORK_ReadBit(100,&rSta,10)!={}for(i=0;i<10;{printf(“%d,”,}//打印输出状}1.2.6.WORK_ReadReg(-47函数名INT8U_stdcallWORK_ReadReg(INT16UnAddr,INT8U*pBuff,功能描读取一个或多个连续字寄存地址的数据输入参无输出参无1.2.7.WORK_WriteReg(示例voidmain({inti;INT8Uerr;pos=//选择串口,站1.2.7.WORK_WriteReg(示例voidmain({inti;INT8Uerr;pos=//选择串口,站号为1,RTU通讯模式,通讯使能WORK_SelectComm(COMM_UART_PORT0,1,COMM_MODE_RTU,//例如X轴反馈位置的寄存器起始地址为5060,数据类型为32位有符号整型errWORK_ReadReg(5060,(INT8U*)&pos, //Xif(err!={}pos=1000;errWORK_WriteReg(5060,INT8U*)&pos,4);//X-48函数名INT8U_stdcallWORK_WriteReg(INT16UnAddr,INT8U*pBuff,功能描写入一个或多个连续字寄存地址的数据输入参 字寄存器首地 存放要写入寄存器数据的数 要写入的寄存器数据字节大输出参无返回 正注意事无返回 正注意事无gisterpos=errWORK_ReadReg(5060,(INT8U*)&pos, //Xif(err!={}printf(“pos2=%d\n”,gisterpos=errWORK_ReadReg(5060,(INT8U*)&pos, //Xif(err!={}printf(“pos2=%d\n”,}-49函数名INT8U_stdcallWORK_WriteDiscReg(constINT16U*pRegBuff,功能描写入一个或多个不连续字寄存地址的数据输入参 存放不连续寄存地址及相应读取数据长度的数 pRegBuff数组内容长 存放要写入的不连续寄存器数据的数输出参无函数名INT8U_stdcallWORK_ReadDiscReg(constINT16U*pRegBuff,功能描读取一个或多个不连续字寄存地址的数输入参 存放不连续寄存地址及相应读取数据长度的数 pRegBuff数组内容长输出参 存放读取的不连续寄存器数据的数返回 正注意事无示例voidmain({//示例voidmain({//选择COMM_UART_PORT0串口,站号为1,RTU通讯模式,通讯使能WORK_SelectComm(COMM_UART_PORT0,1,COMM_MODE_RTU,//例如X,Z轴反馈位置寄存器起始地址分别为5060,5064其中X轴占用两个字地址空间,Z轴占用5064,5065两个字地址空间nBuffNum=errWORK_ReadDiscRegpRegBuff,nBuffNum,pData);//X,Zif(err!={}printf(“posx1=%d,posz1=%d\n”,*(INT32S*)pData,*(INT32S*)pData=-50返回 正注意事无10002000gister}*(INT32S*)pData=*(INT32S*)(pData+4)=10002000gister}*(INT32S*)pData=*(INT32S*)(pData+4)=errWORK_ReadDiscRegpRegBuff,nBuffNum,pData);//X,Zif(err!={}printf(“posx2=%d,posz2=%d\n”,*(INT32S*)pData,}1.3.参数管理函数//访问命令定//无效命//读参数所有信//读参数//错误类型定//操作无//无效的//读无效的数//读列表//读参数信息错//读数据//写数据-51//读位置//写位置//空地址//设备错//通讯//读位置//写位置//空地址//设备错//通讯超时错//加载参数文件错//保存参数文件错//参数信息字节大//参数属性定(0<<7)//(1<<7)////一般客户权限寄存//超级用户权限寄存//数据类型定义,类型值位用来表示变量字节4-52typedefstruct{INT8UPopedom;INT8UINT16U//参数操作权//参数数据类//PLCtypedefstruct{INT8UPopedom;INT8UINT16U//参数操作权//参数数据类//PLC //存放参//参数有效值界限:[0]最小值;[1]最大typedefstruct{//参数数//参数类型名//参数链表首地PARA_TAB*pTitle;PARA_TAB*pParam;1.3.1.PARA_SelectComm(-53函数名INT8U_stdcallPARA_SelectComm(INT8Uport,INT32SiDevNum,mode,BOOL功能描针对参数部分的数据访问,选择设置相应的通讯连接输入参 通讯端口 从机设备 允许通讯输出参无返回 正注意事无-54函数名INT8U_stdcallPARA_GetParaInfo(INT16U*pParaVer,INT16U功能描获取远程设备参数的-54函数名INT8U_stdcallPARA_GetParaInfo(INT16U*pParaVer,INT16U功能描获取远程设备参数的版本,校验值及总大小信输入参无输出参 返回 正注意事无函数名功能描计算指定数目参数列表的校验输入参 PARA_TAB类型的数组首地 参数列表的个输出参无返回计算的校验注意事无函数名INT8U_stdcallPARA_GetCommInfo(INT8U*port,INT32S功能描针对参数部分的数据访问,获取当前通讯连接状态输入参无输出参 通讯端口 从机设备 返回 正注意事无aTab(1.3.7.PARA_Destroy(示例voidmian({int-55函数名void_stdcallPARA_Destroy(PARA_SORT功能描获取下aTab(1.3.7.PARA_Destroy(示例voidmian({int-55函数名void_stdcallPARA_Destroy(PARA_SORT功能描获取下位机参数或读本地匹配的参数住处并创建参数列表输入参 PARA_SORT类型指输出参无返回无注意事无函数名PARA_SORT*_stdcallPARA_TabToSort(PARA_TAB*pTab,intint功能描将参数列表内容进行分类,转换为PARA_SORT类型数输入参 PARA_TAB类型的数组首地 参数列表数输出参 存放参数类型数目的指返回非空:PARA_TAB类型指 NULL:获取失注意事无 ion,INT8U设备的参数列表内输入参无输出参 返回非空:PARA_TAB类型指 NULL:获取失注意事无nVerify1,nVerify2; nVerify1,nVerify2; iTabNum=//先从本地文件中读参if(pParaTab==NULL){//读本地文件失败后就直接从远程设备读pParaTab=PARA_ReadParaTab(&iTabNum,&nVersion1,}{//获取参数列表校验nVerify1=PARA_GetParaVerify(pParaTab,printf(“nVersion1=%d,nVerify1=%d\n”,nVersion1,//获取远程设备参数的版本,校验值及总大小信if(err==PARA_NO_ERR){nVersion2,nVerify2,uiParaSize);}-56容进行分类转RA_TabToSort(pParaTab,iTabNum,//最后释放创建参}1.3.8.PARA_ReadValue(示例voidmain({容进行分类转RA_TabToSort(pParaTab,iTabNum,//最后释放创建参}1.3.8.PARA_ReadValue(示例voidmain({PARA_TABTab.Popedom=RW_USER;Tab.PlcAddr=-57函数名功能描需通过PARA_ReadValue函数读取下位机的相应参数值。输入参 输出参无返回 正注意事无函数名INT8U_stdcallPARA_ReadValue(PARA_TAB功能描从下位机读取该参数的值输入参无输出参 返回 正注意事无strcpy(Tab.pText,“001,X轴指令倍乘比<●>Tab.fLmtVal[0]=1.0;data=strcpy(Tab.pText,“001,X轴指令倍乘比<●>Tab.fLmtVal[0]=1.0;data={}if(PARA_ReadValue(&Tab)!={}printf(“Readvalue:%u,data=%u\n”,*(INT16U*)(Tab.pData),}示例voidmain({-58函数名功能描从下位机读取连续多个参数的值输入参 输出参 个参数成员值将得到更新。返回 正注意事无Tab.PlcAddr=8000+i;Tab.fLmtVal[0]=1.0;//因为数据类型都是无Tab.PlcAddr=8000+i;Tab.fLmtVal[0]=1.0;//因为数据类型都是无符16位整型,所以直接i}{}for(i=0;i<8;{printf(“<%d>Readvalue:%u\n”,i,}}1.4.文件管理函数//访问命令定//无效命//读目//创建目//删除目//删除文//文件重//打开并读文//打开并写文//关闭文-59//错误类型定//错误类型定//文件操作无错//无效的//文件未//文件未//路径错//读目录列表错//创建目录错//删除目录错//删除文件错//打开文件错//关闭文件错//读数据//写数据//读位置//写位置//读无效的数//路径名//空地址//设备错//通讯超时错//只//只#define#define//目录内包含最大的文件目录//最大文件/目录路径字节长#define//磁//目//文-602:文档//文件属性(0:磁 1:目//文件名(8+3格式//文件大小/磁盘总2:文档//文件属性(0:磁 1:目//文件名(8+3格式//文件大小/磁盘总大//磁盘剩余字节大}FS_DIRENT;//单元大小24typedefstruct{//目录列表数 pDirent[MAX_LIST];//目录列表typedefstruct{filepos;////文件大//文件读写操//文件错误信1.4.1.FS_SelectComm(-61函数名INT8U_stdcallFS_SelectComm(INT8Uport,INT32SiDevNum,mode,BOOL功能描针对文件部分的数据访问,选择设置相应的通讯连接输入参 通讯端口 从机设备 允许通讯1.4.2.FS_GetCommInfo(1.4.3.FS_FReadDir(示例voidmain({//空路径表示读根目录信息(磁盘信息err=1.4.2.FS_GetCommInfo(1.4.3.FS_FReadDir(示例voidmain({//空路径表示读根目录信息(磁盘信息err=FS_FReadDir(“”,if(err!=-62函数名功能描读远程文件系统的目录信息输入参 输出参 存放目录信息的结构体指针返回 正注意事无函数名INT8U_stdcallFS_GetCommInfo(INT8U*port,INT32S*iDevNum,功能描针对文件部分的数据访问,获取当前通讯连接状态输入参无输出参 通讯端口 从机设备 返回 正注意事无输出参无返回 正注意事无录失败“C:\\”pDir);//Cif(err!={printf(“读C盘根目录信息失败}errFS_FReadDir(“D:\\ADT录失败“C:\\”pDir);//Cif(err!={printf(“读C盘根目录信息失败}errFS_FReadDir(“D:\\ADT //DADTif(err!={printf(“读目录失败}}FS_FOpen(FS_FRead(-63函数名功能描读远程文件内输入参 文件结构体指针 读取文件内容的字节长度输出参 存放读取的文件内容函数名FS_FILE*_stdcallFS_FOpen(constINT8S*pFileName,constchar功能描打开远程文输入参 要打开的远程文件路径,所有文件名都为绝对路径 文件打开模式('r':读操 'w':写操作输出参无返回 文件结构体指针,执行成功后返回非0值注意事访问远程文件时,同时只能打开⼀个远程文件。该函数与FS_FClose()函FS_FWrite(FS_FClose(FS_Remove(示例voidmain({-64函数名功能描删除文输入参 删除文件的FS_FWrite(FS_FClose(FS_Remove(示例voidmain({-64函数名功能描删除文输入参 删除文件的路输出参无返回 正注意事无函数名功能描关闭远程文件内容,与FS_FOpen对应使输入参 文件结构体指针输出参无返回 正注意事无函数名功能描写远程文件内输入参 文件结构体指针 存放写入的文件内容 写文件内容的字节长度输出参无返回 正注意事无返回 正注意事无D:\\ADT\\TEST.TXT”, //以只读方式打开远程文if(pFile==D:\\ADT\\TEST.TXT”, //以只读方式打开远程文if(pFile=={}printf(“Filesize=%d\n”,pFile-//打印打开文件大err=FS_FRead(pFile,Buff,100);{}//从远程文件读100字节数//关闭打开的文pFile=FS_FOpen(“D:\\ADT\\ADT.TXT”,“w”); if(pFile==NULL){}{printf(“写远程文件失败//向远程文件写100字节数//关闭打开的文-65}}1.4.9.FS_FSeek(示例voidmain({//假设TEST.TXT文件内容是:0123456789。个}}1.4.9.FS_FSeek(示例voidmain({//假设TEST.TXT文件内容是:0123456789。个字节数//用只读方式打开一个远程文if(pFile==NULL){-66函数名功能描获取当前文件操作位置输入参 文件结构体指针输出参 存放当前文件操作的位置,相对于文件开始位置返回 正注意事无函数名功能描定位文件操作位置输入参 文件结构体指针 定位文件的操作位置,相对于文件开始位置输出参无返回 正注意事无程文件失败{Buff[i]=}//定位文件操作位置在第2字节的位FS_FSeek(pFile,FS_FRead(pFile,Buff,5);//打印数//获
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026港航真题试卷及答案
- 2026加油站安全员考试题库含答案
- 【完整版】2026年一级建造师《港口与航道工程》真题及答案解析
- 2026特教编制考试题库及答案
- 2026福建福州市城市排水有限公司招聘笔试模拟试题及答案解析
- 2025年二建市政考试题真题及答案解析
- 2025年电梯检验员资格考试历年真题及答案试题试题试卷(含解析)
- 2026年中职(农资营销与服务)农资推广阶段测试题及答案
- 2026年外科刷手培训模拟试题及答案详解
- 2026年动物药代动力学研究服务项目调研分析报告
- 2026年秋北师大版新教材四年级上册数学(全册)知识点清单梳理
- 2026八年级劳动国家质量监测考试卷含答案
- 2024版压力容器设计审核题库(综合题)
- 手术室护理人文关怀与沟通技巧
- (2026年)皮内注射技术课件
- 2025版《广东省护理病历书写管理规范(试行)》
- 福建金投集团招聘笔试题目
- 企业新春员工福利礼品选购指南【课件文档】
- 机泵基础知识培训
- 6S启动大会课件
- ISO14644-5-2025洁净室及相关受控环境-第5部分运行中文版
评论
0/150
提交评论