华中8型系统二次开发手册
华中数控8型系统二次开发文档,使用语言C++或C#,实测可用牛屮型数控系统二次开发手册报警简介接口列表升级备份简介接口列表事件简介接口列表代码程序管理简介接口列表网络简介接凵列表牛屮型数控系统二次开发手册修订说明新增报警、升级备份、网络接口牛屮型数控系统二次开发手册二次开发简介通过二次开发,用户可以仅关注需要的东西,通过接口定制软件功能,而不用了解底层功能到底如何实现,能够加快开发进度,提高开发效率。二次开发流程华中型数控系统二次开发软件提供接口,能够采集并设置下位机数据,从而实现对下位机的控制。用户只需要自己开发自己关注的功能界面,然后通过调用封装好的二次开发接口,来调用底层数据,调用成功后将值返回给用户。牛屮型数控系统二次开发手册网络版开发网络版开发,可以脱离下位机,比如开发的软件可以独立到用户的电脑,实现上位机和下位机的个相互独立的部分之间通信。电脑上运行的客户端二次开发软件可以采集或者设置到卜位机的数据如下所小运行在用户电脑上,用户可以自己选择要连接的下位机,连接成功后,可以实现对下位机的实时监控等架作。● Net Server楼回自动co连按2014-061214:35:37信息奇存器变量l参数升级备分轴信息机实买尔机床指令没置是示列信息X284340毫米4916毫米F11Y376080享米-37.6271米G200毫米∠17.8500毫米17.8500亳米7.8500毫米00Q度0.000加工程忘名图1 NetServer运行界面牛屮型数控系统二次开发手册软件包配置及使用日前针对的主流开发平台和,提供了不同的二次开发软件包软件包的介绍对于开发,根据开发环境是或者分别提供两种不冋的软件包。只体如下图所小表1软件包列表开发环境SDK包文件动态Lib库文件( HncNetDillib、 HncNetdildl)C++nclude头文件文件夹WindowsHncApi.CS接口文件HncNetdlldl!动态链接库文件Windows下软件包配置及使用在平台下进行的二次开发,需将的二次开发提供的相关软件包文什加入自己的工程文件夹中。下面就分别介绍中的使用环境下开发库、开发库的配置及使用。二次开发库配置配置开发环境步骤:启动新建一个应用程序工程在工程目录下新建一个目录,将二次开发包中的平台的库文件拷贝到新建的目录下将二次开发包中的头文件目录拷贝到工程目录下右键点击⊥程名称,在弹出菜单中选择属性,弹山属性页;选择酉置属性,,常规,在右边附加包含目录中加入头文件路径。牛屮型数控系统二次开发手册++Demo届性页BC.动D)平含活M2笆运蛋〔D通用属性# USInc到式仨三格式用于“端国实”的程序数兵宇(ZI公共语言运行时支持VC-+三录耿消显示疟动版权标志言等级esCw3优化多处理器编译预处理器为编望序列表用 Unicode代巧生成图2配置 include路径选择酉置属性,,预处理器,在右边预处理定义添加宏定义置C:动 Chur台P:活定in37)「配管理()通卫星性预处理定义WIN52-WINDoWHNC DLL IMP A pEBUG: 9%(Preprace!取所有预处理器宇义否忽暗标唯包含路位否页处西到文件页处理取消显示行号否保密注选择配置属性,链接器,输入,在右边附加依赖项中输入,库文件所在路径在忽略特定目录库中输入C+Deme性页(C)后动 Debue)≌(:活动ir32配置兰理稀p通用唐性加农酸项lib/HncNtDIl lib: %(Additional Dcps置属性忽暗所有默认库常规忽路持正默认库c凵 BCD. LIl调过vC++E录标模块忝序哉入托曾资源文件穿规强制符号引用加载的DLL穿规调式图3配置lib路径牛屮型数控系统二次开发手册在生成目标文件所在的文件夹中,加入文件在应用程序文件中加入凼数库头文件的声明,例如至此,用户就可以在中调用网络模块的函数,开始编写应用程序。具体代码可参见以及二次开发范例。二次开发库配置配置开发环境步骤启动新建一个应用程序工程在工程日录下新增文件将该文件添加至工程,并修改域名使与该程序致ec机!盘G),t计!mn年,tm分‖索dea文件编(E)打开新建女件beImu C#demo2014/522151g文件灾J Debug2014/52316:38文件灾o Debuy2014/5/2315:18文件灾U obj2014/5231510文件lAramanI Properties2014/52315:10文件夹CclbFur_LS2014/5/26 10: 27 VisUal C# SuLIL1 cema C++kc demo s2014/528 14: 32 Visual C+ Project5K8C++De吧 emo scf2014/512614:02 SQL Server Com42,530K82014/5/23 10: 38 Microsoft vis Ia-g Form Maincs2014/5/26 13: 47 Visual C#Sourc.2014(5/23 16: 36 Visi al Cf Soure.13 KR二++602014/5/23 16: 36 NE Managed5K82014/5 28 14: 39 Visual C# Sourc.142 KBD U cnum EXCITICN2014/5/26 9: 51 Visual C+ SourC.bs 9 exteuLliur4 PeNter. D2014/5/265: 52 Visual C+ Sourc.5K8图4添加cs文件将复制到目标文件夹北比,m,bm小Db4提 Debug文件(F编辑(E童看织包含到库平≡新∨出I demo_C*修改日期类丑214/5/2613:47立用程序86KB2J14/5/ 2613: 4/ Program Debug100 KBdemo vshost.ex2014/5/2814:29用程序12 KBdemo, shost. exe. manifest221031722:39 MANIFEST文件E KBPerenan2014/5/2811;34用程序扩晨397KB+-DemD3t3山AA⊥I牛屮型数控系统二次开发手册图5添加d文件至此,用户就可以在中调用网络模块的函数,开始编写应用程序。具体代码可参见以及二次开发范例。二次开发接口范例介绍二次开发范例为例,该次开发程序连接下位机后可实时显示:坐标值进给速度主轴速度;进给修条、主轴修条、快移修条:代码当前运行行号,当前运行代码路径及名称;主轴功率、主轴负荷;下位机当前状态;当前程序运行时间;历史报警个数:报警详细信息;从上位杋加载代码到下位机;获取宏变量值。具体功能实现,可参见代码。配置成功后,运行程序,生成界面。红栏状态主接坐标显示生标佰主轴久苛z丛柝坐标值运行时时间Stat进给速度坐标值警历史个数tatC主袖束度斗标值振警详细言息进给修条坐标值仅移诊录生标佰物修杀坐标值当前运行行号坐标直当前运行程序乞序名方克里值选督程尸乞图6运行界面点击连接后,界面显示当前设备运行状态。若连接成功,将显示网络已连接。点击获取宏变量值,显示当前坐标值。选择程序名,输入电脑上待加载的代码路径后,点击确认,将从电脑加载代码到设备。如下所示。
- 2020-12-07下载
- 积分:1
三维装箱问题的模型与改进遗传算法
关于三维装箱算法问题, 一些算法理论, 感觉对这方面的应用有一定帮助144效学的实践与认识40着∑(B,*v)≤VB,B,PD,PWy=0或者1v∈{1,2,…,D},y∈{1,2,…,W},z∈{1,2,…,H},j∈{1,2,…,n}(12目标函数是箱子未装填物品的空间最少(亦即空间浪费最少)条件(2)确保子的1个装填空间单元被装填不超过1次即保证物品间不会互相嵌入;(3)式说明上层物品会有支撑,不会悬空(4),(5),(6)式说明物品装箱位置约束;(7),(8},(9)说明物品的摆放问;(11)是箱子的容积约束2這传算法21遗俊法遗传算法(GAs)是建立在达尔文进化论基础上的搜索算法,它从代表问题潜在解的个种群( population)开始,而一个种群则由经过基因(gene)编码 coding)的一定数目的个体individual)组成遗传算法采用了自然进化模型,如选择,交叉变异等计算开始时,一定数目S个个体(父个体1、父个体2……)即种群随机地初始化,并计算每个个体的适应度函数第一代也即初始代产生如果不满足优化准则,开始产生新一代的计算为了产生新一代按照适应度选择个体,父代通过基因重组(交叉)而产生子代所有的子代按一定的概率变异然后重新计算子代的适应度,将子代插入到种群中取代父代构成新的一代循环执行这一过程,直到满足优化准则22算法设计2.21编码方法采用矩阵编码方法,用多维数组(二维矩阵表示染色体结构,数组元素表示染色体基因,编码清晰,易于理解,遗传算子操作方便染色体S=(L,P,Px,Py,T)来表示问题的一个解其中:向量L=(Li,L1,…,Ln)为待装箱物品的一个排列;向量P=(Bn,B1,…,B3n)为对应于排列L的B,一个排列向量Px=(PB,PB,…,PB)为对应于排列L的PB一个排列向量Py=(PB,PB},…,PB为对应于排列L的PBx一个排列矩阵T=(x2=欢面为对应于排列L的装箱物品坐标22适值函数问题的目标是最小化箱子的浪费空间,适应度函数可定义为空间利用率函数(S代表染色体C1994-2010ChinaAcademicJournalElectronicPublishingHouse.Allrightsreservedhttp://www.cnki.net2期陈德良,等:三维装箱问题的模型与改进遗传算法Fitness(s)(∑B3*v/若∑(B;*v)≤V否则23解的不可行性,罚函数与评估函数由于对染色体作遗传运算时可能获得不可行的子代,惩罚技术是用遗传算法解约束优化问题中最常用的技术,本质上它是通过惩罚不可行解将约束优化问题转化为无约爽问题就本文讨论的问题而言,惩罚项包括:1)物品在装箱时不交叠,即满足约束条件{2},有着∑By≤1g:(S)1,否则2)物品装箱时不能出现悬空即满足约束条件(3),有0若∑B-B+)>0g2(S)=(151,否则3)物品装箱不能超出箱子边界,即满足约束条件(4,(5)和(6),有0若吃+B(Pp++Pwy*吗)≤D1,否则0若+B*(PD*+PWy*m)≤W941,否则(17)95(S)=0,若x+B*h;≤H8)1,否则eat(s=∑9(S)b=1那么,式(14)至(18)任何一个取值为1,都是不可行评估函数eval(S)=Fitness(S)*(5-Genalty (S)24算法步骤)初始化进化代数计数器,随机产生一定数目(大于设定的初始种群规模)的染色体;2)利用式(14)检验初始种群染色体可行性,对不可行解旋转赌轮接受小部分不可行解,与可行解构成初始种群3)对初始种群染色体进行遗传运算;①按照式(14)至(20)计算评估函数:⑩按顺序交叉方法产生子代;④变异算子;4)旋转赌轮选择染色体;)重复3至4)直到完成给定的循环次数;C1994-2010ChinaAcademicJournalElectronicPublishingHouse.Allrightsreservedhttp://www.cnki.net数学的实践与认识40卷6)确定最好的染色体作为最优解3实验结果我们用C++编程实现了上述算法在配置为CPU24GH/512 Mb ram的微机上,用随机产生的数据进行实验取遗传算法运行参数为:{群体大小进化代数,交叉概率,变异概率}-{100,50,0.85,0.05}用随机产生的数据进行实验,求解20个种类100件物品的装箱问题,得到最好解耗时小于1秒;计算50个种类200件物品的装箱问题,得到最好解耗时小于2秒以下是3类共16件物品的装箱问题.实验数据图2,第!行为箱子尺『;第2至第4行为待装箱物品,每行第1个数据表小序号第2至镌4数据分别为物品尺寸,第5个数据表示物品件数在计算转桌中包含数据依次是:序号,是否装载,物品长,物品宽,物品高,纵向坐标横向坐标,垂向坐标纵向长度,横向长度,垂向长度(图4).从图4可知第12号物品未能装箱,物品装箱的顺序可以从“序号列中得出.绘制的物品装箱示意图见图31421,2,乙2,2,图2实验数据图3装箱示意图文件((格式(Q帮助新 s REPORT耗时:.1 most g sec次数:01615积:7580001016每a0库:92.875989名寸:=280;y=1210;2=300NO: P st Din 1 Din 2 in 3 C xC YPu y Pu 2202002002002001002812B20020012010010020012鲁2020012010020020020020012B100100212021201215024015824815015561111111111115152每000ao00015150240202020055020200201002001215502D0200120100100201205s012020028012015024075000015024815015024075015015024a152002009o002002001002012090020012日未装相物品121501502年图1计算结果o1994-2010ChinaAcademicJournalElectronicPublishingHousealLrightsreservedhttp://www.cnki.net2期陈德良,等:三维装箱问题的模型与改进遗传算法1474结束语装箱问题是一常见而难解的优化问题,利用遗传算法求解时,随机产生的初始解会出现大量的不可行解(装箱物品占用空间出现大量交叠),本文将箱子内部空间划分为一个个立方体单元:算法的第2)步对标准遗传算法做了修改通过剔除大量不可行解提高算法的收敛速度,实验结果表明此算法运算过程及绪果稳定,具有较强的实际应用价值能有效解决复杂的三维装箱何题,今后将继续研究将该方法运用到其它不同的有关装箱问题或组合优化问题中参考文献[1] John J, et al. An improved algctithra for the ncn-guillctine-constraincd cutting-stock problem(JIOperational Resee ch Society, 19 /0,+1: 141-149[2] Coffmau E. G, et al. ver age-case analysis of cutting and packing in two dimensions [J]. Euro. Jof Operatic al Reseaich, 1990, 44: 134-14413) Fabien C, et al. A Two-phase heuristic for the two-dinensional cutting-stock problem [J. Opera-tional Research Society, 1991, 42: 39-744 Martello Silvano, Pisinger, David, and Vigo, Daniele. The Three-Dimensional Bin Packing ProblemJ. Operations Research, 2000 Informs. Vol. 48: 256-267]何大勇,査建中,姜义东遗传算法求解复杂集装箱装载问题方法研究向]软件学报,201,12(9):13801385阿]张德富魏丽军陈青山陈火旺等.三维装箱问题的组合启发式算法软件学报,2007,18(9):20832089A Mixed Integer Programming Model ofThree-Dimensional Bin-Packing Problem and ImprovedGenetic AlgorithmsCHEN De-liang, 2, CHEN Zhi-yaSchool of Traffc &z transportation Engineering, Central South University, Changsha 41076, China)(2. Logistics School, Central South University of Forestry Technology, Changsha 410004, ChinaAbstracts The three-dimensional bin-packing problem is complicated but a high level ofinterest in developing effective way to solve this kinds of NP-hard problem. First a MixedInteger Programming model was worked out in this paper, which resorted to dividing box spaceinto unit cube. Then an improved genetic algorithm was mainly developed. Tests on hundredsof problems show that this algorithm makes the most of volume utilization in minimal timeKeywords: three-dimensional bin-packing problem; space division; mixed integer program-ming model; improved genetic algorithmso01994-2010ChinaAcademicJournalElectronicPublishinghOuse.Allrightsreservedhttp://www.cnki.net
- 2020-12-05下载
- 积分:1