一、模块化编程简写?
模块化编程英文
modularization programming
二、模块化编程和普通编程区别?
没有普通编程这种说法,绝大多数情况的编程都是模块化的,特殊的情况下,不考虑程序结构,只实现功能,称为脚本
三、plc模块化编程思路?
PLC模块化编程的思路大致如下:
1. 确定系统的功能要求及功能模块,分析系统的功能单元,确定输入信号与输出信号;
2. 分析功能模块可以针对输入信号进行不同方式的处理,确定功能模块的输入信号、输出信号、时序控制;
3. 根据各个功能模块的输入信号、输出信号要求,确定PLC的I/O端口的数量及位置;
4. 进行PLC程序编写,编写PLC程序实现各个功能模块的功能,将各个功能模块组合起来,形成最终的控制逻辑;
5. 运行控制程序,对系统功能进行调试,实现最终的PLC控制程序。
四、结构化编程跟模块化编程区别?
模块化编程中OB1起着主程序的作用,FC或FB控制着不同的过程任务,相当于主循环程序的子程序。模块化编程中被调用块不向调用块返回数据。
模块化程序的执行
模块化编程中OB1起着主程序的作用,FC或FB控制着不同的过程任务,相当于主循环程序的子程序。模块化编程中被调用块不向调用块返回数据。
五、函数式编程和模块化编程的意义?
指的就是对函数进行编程和对功能模块进行编程
六、三菱plc编程模块化编程方法?
三菱PLC编程采用模块化编程方法,即将程序分解为多个模块,每个模块负责完成特定的功能。通过模块化编程,可以提高程序的可读性和可维护性。在编程过程中,可以使用函数块、函数和子程序等模块化编程元素来实现。
函数块是一种可重复使用的代码块,可以在程序中多次调用。函数是一种独立的程序段,可以在程序中被调用执行。
子程序是一种独立的程序,可以在程序中被调用执行,并且可以传递参数和返回结果。
通过合理使用这些模块化编程元素,可以简化程序的编写和维护过程,提高编程效率和程序的可靠性。
七、数控车床编程?
FANUC数控系统常用M代码:
M03:主轴正传
M04:主轴反转
M05:主轴停止
M07:雾状切削液开
M08:液状切削液开
M09:切削液关
M00:程序暂停
M01:计划停止
M02:机床复位
M30:程序结束,指针返回到开头
M98:调用子程序
M99:返回主程序
FANUC数控系统G代码:
代码名称-功能简述
G00------快速定位
G01------直线插补
G02------顺时针方向圆弧插补
G03------逆时针方向圆弧插补
G04------定时暂停
G05------通过中间点圆弧插补
G07------Z样条曲线插补
G08------进给加速
G09------进给减速
G20------子程序调用
G22------半径尺寸编程方式
G220-----系统操作界面上使用
G23------直径尺寸编程方式
G230-----系统操作界面上使用
G24------子程序结束
G25------跳转加工
G26------循环加工
G30------倍率注销
G31------倍率定义
G32------等螺距螺纹切削,英制
G33------等螺距螺纹切削,公制
G53,G500-设定工件坐标系注销
G54------设定工件坐标系一
G55------设定工件坐标系二
G56------设定工件坐标系三
G57------设定工件坐标系四
G58------设定工件坐标系五
G59------设定工件坐标系六
G60------准确路径方式
G64------连续路径方式
G70------英制尺寸寸
G71------公制尺寸毫米
G74------回参考点(机床零点)
G75------返回编程坐标零点
G76------返回编程坐标起始点
G81------外圆固定循环
G331-----螺纹固定循环
G90------绝对尺寸
G91------相对尺寸
G92------预制坐标
G94------进给率,每分钟进给
G95------进给率,每转进给
功能详细:
G00—快速定位
格式:G00X(U)__Z(W)__
说明:(1)该指令使刀具按照点位控制方式快速移动到指定位置。移动过程中不得对工件
进行加工。
(2)所有编程轴同时以参数所定义的速度移动,当某轴走完编程值便停止,而其他
轴继续运动,
(3)不运动的坐标无须编程。
(4)G00可以写成G0
例:G00X75Z200
G0U-25W-100
先是X和Z同时走25快速到A点,接着Z向再走75快速到B点。
G01—直线插补
格式:G01X(U)__Z(W)__F__(mm/min)
说明:(1)该指令使刀具按照直线插补方式移动到指定位置。移动速度是由F指令
进给速度。所有的坐标都可以联动运行。
(2)G01也可以写成G1
例:G01X40Z20F150
两轴联动从A点到B点
G02—逆圆插补
格式1:G02X(u)____Z(w)____I____K____F_____
说明:(1)X、Z在G90时,圆弧终点坐标是相对编程零点的绝对坐标值。在G91时,
圆弧终点是相对圆弧起点的增量值。无论G90,G91时,I和K均是圆弧终点的坐标值。
I是X方向值、K是Z方向值。圆心坐标在圆弧插补时不得省略,除非用其他格式编程。
(2)G02指令编程时,可以直接编过象限圆,整圆等。
注:过象限时,会自动进行间隙补偿,如果参数区末输入间隙补偿与机床实际反向间隙
悬殊,都会在工件上产生明显的切痕。
(3)G02也可以写成G2。
例:G02X60Z50I40K0F120
格式2:G02X(u)____Z(w)____R(\-)__F__
说明:(1)不能用于整圆的编程
(2)R为工件单边R弧的半径。R为带符号,“+”表示圆弧角小于180度;
“-”表示圆弧角大于180度。其中“+”可以省略。
(3)它以终点点坐标为准,当终点与起点的长度值大于2R时,则以直线代替圆弧。
例:G02X60Z50R20F120
格式3:G02X(u)____Z(w)____CR=__(半径)F__
格式4:G02X(u)____Z(w)__D__(直径)F___
这两种编程格式基本上与格式2相同
G03—顺圆插补
说明:除了圆弧旋转方向相反外,格式与G02指令相同。
G04—定时暂停
格式:G04__F__或G04__K__
说明:加工运动暂停,时间到后,继续加工。暂停时间由F后面的数据指定。单位是秒。
范围是0.01秒到300秒。
G05—经过中间点圆弧插补
格式:G05X(u)____Z(w)____IX_____IZ_____F_____
说明:(1)X,Z为终点坐标值,IX,IZ为中间点坐标值。其它与G02/G03相似
例:G05X60Z50IX50IZ60F120
G08/G09—进给加速/减速
格式:G08
说明:它们在程序段中独自占一行,在程序中运行到这一段时,进给速度将增加10%,
如要增加20%则需要写成单独的两段。
G22(G220)—半径尺寸编程方式
格式:G22
说明:在程序中独自占一行,则系统以半径方式运行,程序中下面的数值也是
以半径为准的。
G23(G230)—直径尺寸编程方式
格式:G23
说明:在程序中独自占一行,则系统以直径方式运行,程序中下面的数值也是
以直径为准的。
G25—跳转加工
格式:G25LXXX
说明:当程序执行到这段程序时,就转移它指定的程序段。(XXX为程序段号)。
G26—循环加工
格式:G26LXXXQXX
说明:当程序执行到这段程序时,它指定的程序段开始到本段作为一个循环体,
循环次数由Q后面的数值决定。
G30—倍率注销
格式:G30
说明:在程序中独自占一行,与G31配合使用,注销G31的功能。
G31—倍率定义
格式:G31F_____
G32—等螺距螺纹加工(英制)
G33—等螺距螺纹加工(公制)
格式:G32/G33X(u)____Z(w)____F____
说明:(1)X、Z为终点坐标值,F为螺距
(2)G33/G32只能加工单刀、单头螺纹。
(3)X值的变化,能加工锥螺纹
(4)使用该指令时,主轴的转速不能太高,否则刀具磨损较大。
G50—设定工件坐标/设定主轴最高(低)转速
格式:G50S____Q____
说明:S为主轴最高转速,Q为主轴最低转速
G54—设定工件坐标一
格式:G54
说明:在系统中可以有几个坐标系,G54对应于第一个坐标系,其原点位置数值在机床
参数中设定。
G55—设定工件坐标二
同上
G56—设定工件坐标三
同上
G57—设定工件坐标四
同上
G58—设定工件坐标五
同上
G59—设定工件坐标六
同上
G60—准确路径方式
格式:G60
说明:在实际加工过程中,几个动作连在一起时,用准确路径编程时,那么在进行
下一段加工时,将会有个缓冲过程(意即减速)
G64—连续路径方式
格式:G64
说明:相对G60而言。主要用于粗加工。
G74—回参考点(机床零点)
格式:G74XZ
说明:(1)本段中不得出现其他内容。
(2)G74后面出现的的座标将以X、Z依次回零。
(3)使用G74前必须确认机床装配了参考点开关。
(4)也可以进行单轴回零。
G75—返回编程坐标零点
格式:G75XZ
说明:返回编程坐标零点
G76—返回编程坐标起始点
格式:G76
说明:返回到刀具开始加工的位置。
G81—外圆(内圆)固定循环
格式:G81__X(U)__Z(W)__R__I__K__F__
说明:(1)X,Z为终点坐标值,U,W为终点相对于当前点的增量值。
(2)R为起点截面的要加工的直径。
(3)I为粗车进给,K为精车进给,I、K为有符号数,并且两者的符号应相同。
符号约定如下:由外向中心轴切削(车外圆)为“—”,反这为“”。
(4)不同的X,Z,R决定外圆不同的开关,如:有锥度或没有度,
正向锥度或反向锥度,左切削或右切削等。
(5)F为切削加工的速度(mm/min)
(6)加工结束后,刀具停止在终点上。
例:G81X40Z100R15I-3K-1F100
加工过程:
1:G01进刀2倍的I(第一刀为I,最后一刀为IK精车),进行深度切削:
2:G01两轴插补,切削至终点截面,如果加工结束则停止:
3:G01退刀I到安全位置,同时进行辅助切面光滑处理
4:G00快速进刀到高工面I外,预留I进行下一步切削加工,重复至1。
G90—绝对值方式编程
格式:G90
说明:(1)G90编入程序时,以后所有编入的坐标值全部是以编程零点为基准的。
(2)系统上电后,机床处在G状态。
N0010G90G92x20z90
N0020G01X40Z80F100
N0030G03X60Z50I0K-10
N0040M02
G91—增量方式编程
格式:G91
说明:G91编入程序时,之后所有坐标值均以前一个坐标位置作为起点来计算
运动的编程值。在下一段坐标系中,始终以前一点作为起始点来编程。
例:N0010G91G92X20Z85
N0020G01X20Z-10F100
N0030Z-20
N0040X20Z-15
N0050M02
G92—设定工件坐标系
格式:G92X__Z__
说明:(1)G92只改变系统当前显示的坐标值,不移动坐标轴,达到设定坐标
原点的目的。
(2)G92的效果是将显示的刀尖坐标改成设定值。
(3)G92后面的XZ可分别编入,也可全编。
G94—进给率,每分钟进给
说明:这是机床的开机默认状态。
G20—子程序调用
格式:G20L__
N__
说明:(1)L后为要调用的子程序N后的程序名,但不能把N输入。
N后面只允许带数字1~99999999。
(2)本段程序不得出现以上描述以外的内容。
G24—子程序结束返回
格式:G24
说明:(1)G24表示子程序结束,返回到调用该子程序程序的下一段。
(2)G24与G20成对出现
(3)G24本段不允许有其它指令出现。
]实例
例:通过下例说明在子程序调用过程中参数的传递过程,请注意应用
程序名:P10
M03S1000
G20L200
M02
N200G92X50Z100
G01X40F100
Z97
G02Z92X50I10K0F100
G01Z-25F100
G00X60
Z100
G24
如果要多次调用,请按如下格式使用
M03S1000
N100G20L200
N101G20L200
N105G20L200
M02
N200G92X50Z100
G01X40F100
Z97
G02Z92X50I10K0F100
G01Z-25F100
G00X60
Z100
G24
G331—螺纹加工循环
格式:G331X__Z__I__K__R__p__
说明:(1)X向直径变化,X=0是直螺纹
(2)Z是螺纹长度,绝对或相对编程均可
(3)I是螺纹切完后在X方向的退尾长度,±值
(4)R螺纹外径与根径的直径差,正值
(5)K螺距KMM
(6)p螺纹的循环加工次数,即分几刀切完
提示:
1、每次进刀深度为R÷p并取整,最后一刀不进刀来光整螺纹面
2、内螺纹退尾根据沿X的正负方向决定I值的称号。
3、螺纹加工循环的起始位置为将刀尖对准螺纹的外圆处。
例子:
M3
G4f2
G0x30z0
G331z-50x0i10k2r1.5p5
G0z0
M05
补充:
1、G00与G01
G00运动轨迹有直线和折线两种,该指令只是用于点定位,不能用于切削加工
G01按指定进给速度以直线运动方式运动到指令指定的目标点,一般用于切削加工
2、G02与G03
G02:顺时针圆弧插补G03:逆时针圆弧插补
3、G04(延时或暂停指令)
一般用于正反转切换、加工盲孔、阶梯孔、车削切槽
4、G17、G18、G19平面选择指令,指定平面加工,一般用于铣床和加工中心
G17:X-Y平面,可省略,也可以是与X-Y平面相平行的平面
G18:X-Z平面或与之平行的平面,数控车床中只有X-Z平面,不用专门指定
G19:Y-Z平面或与之平行的平面
5、G27、G28、G29参考点指令
G27:返回参考点,检查、确认参考点位置
G28:自动返回参考点(经过中间点)
G29:从参考点返回,与G28配合使用
6、G40、G41、G42半径补偿
G40:取消刀具半径补偿
7、G43、G44、G49长度补偿
G43:长度正补偿G44:长度负补偿G49:取消刀具长度补偿
8、G32、G92、G76
G32:螺纹切削G92:螺纹切削固定循环G76:螺纹切削复合循环
9、车削加工:G70、G71、72、G73
G71:轴向粗车复合循环指令G70:精加工复合循环G72:端面车削,径向粗车循环G73:仿形粗车循环
10、铣床、加工中心:
G73:高速深孔啄钻G83:深孔啄钻G81:钻孔循环G82:深孔钻削循环
G74:左旋螺纹加工G84:右旋螺纹加工G76:精镗孔循环G86:镗孔加工循环
G85:铰孔G80:取消循环指令
11、编程方式G90、G91
G90:绝对坐标编程G91:增量坐标编程
12、主轴设定指令
G50:主轴最高转速的设定G96:恒线速度控制G97:主轴转速控制(取消恒线速度控制指令)G99:返回到R点(中间孔)G98:返回到参考点(最后孔)
具体看FANUC编程操作说明书,仅供参考。
八、什么对程序进行模块化编程?
程序模块化编程是指将大型、笨拙的编程任务分解为单独的、更小更易于管理的子任务或模块的过程。然后可以像构建块一样拼凑单个模块以创建更大的应用程序。在大型应用程序中模块化代码有以下几个优点。
(1)简单性:模块通常只关注问题的一小部分,而不是关注手头的整个问题。如果正在处理单个模块,那么将有一个较小的问题等待解决。这使得开发更容易,更不容易出错。
(2)可维护性:模块通常设计为能够在不同的问题域之间实施逻辑边界。如果以最小化相互依赖性的方式编写模块,则对单个模块的修改将对程序的其他部分产生影响的可能性降低(甚至可以在不了解该模块之外的应用程序的情况下对模块进行更改)。这使得许多程序团队在大型应用程序上协同工作更加可行。
(3)可重用性:单个模块中定义的功能可以通过应用程序的其他部分轻松地重用(通过适当定义的界面)。这消除了重新创建重复代码的需要。
(4)范围:模块通常定义一个单独的命名空间,这有助于避免程序的不同区域中的标识符之间的冲突。
九、模块化编程怎么全局定义数组?
1.使用关键字extern修饰申明。
例如:
主文件中定义 int g_ival = 0;
别的文件里面用 extern int g_ival;申明一下就可以用了。
2.模块化编程是指将一个庞大的程序划分为若干个功能独立的模块,对各个模块进行独立开发,然后再将这些模块统一合并为一个完整的程序。这是C语言面向过程的编程方法,可以缩短开发周期,提高程序的可读性和可维护性。
3.在单片机程序里,程序比较小或者功能比较简单的时候,我们不需要采用模块化编程,但是,当程序功能复杂、涉及的资源较多的时候,模块化编程就能体现它的优越性了。如前面我们写过的HT1380驱动程序、独立按键扫描程序和12864程序,每一个程序都是只用一个源文件编写就能完成,但是,当您制作一个12864液晶日历的时候,需要用到HT1380驱动程序、独立按键扫描程序和12864显示程序,如果把这三个程序全部集中在一个源文件里,将导致主体程序臃肿且杂乱,这样做并非不可取,只是降低了程序可读性、可维护性和代码的重用率。如果把这三个程序当做三个独立的模块放到你的主体工程进行模块化编程,效果就不一样了。实际上,模块化编程就是模块合并的过程,就是建立每个模块的头文件和源文件并将其加入到主体程序的过程。主体程序调用模块的函数是通过包含模块的头文件来实现,模块的头文件和源文件是模块密不可分的两个部分,缺一不可。所以,模块化编程必须提供每个模块的头文件和源文件。
十、单片机模块化编程讲解?
他迈进模块化编程,主要是将各个程序进行模块化,不同的头文件。