MC881A控制器说明书_第1页
MC881A控制器说明书_第2页
MC881A控制器说明书_第3页
MC881A控制器说明书_第4页
MC881A控制器说明书_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录第一部分概述 3第二部分控制器使用说明 4一 硬件说明 4 功能说明 4 性能指标 5 电气特性 5 控制器接线示意 6 安装尺寸 7二 操作说明 8 键盘功能及显示说明 8 工作模式83.2自动运行83.3手动调整83.4编程状态83.5参数设置93.7下载程序93.9停止9三 软件说明9 变量说明及参数约定9 指令详解11运动类11命令控制类12跳转类14逻辑类16运算类17数据传送类18 指令编码表20第三部分Motion Logic 使用说明231.关于软件名称 232.声明 233.安装到本地 234.编译环境使用说明 245.编制程序 276.软件的其它说明 28第四部分编程实

2、例 29一 编程实例 29二 程序输入说明31 控制器手动编程 31 PC机编程并下载 32附录一RS232简单无硬件握手通信线缆制作 35附录二常见问题解答36第一部分 概述敬爱的用户:你好!非常感谢您使用MC881A步进电机控制器。该控制器和国内外同类高档控制器相比,先进的特点如下:1. 用户编程方便。使用MC881A控制器,您不必再为修改程序发愁。该控制器提供独立的编程环境,不必借助任何工具,您可以随时对程序进行修改或重写。她的指令设置合理并简单,符合人们的思维习惯,不会在指令的熟悉上花费您太多的宝贵时间,并且和MC883A三轴控制器的指令系统保持了一定的一致性。2. 可控制单轴步进电机

3、。MC881A控制器可以控制驱动一路步进电机,带有两个硬件限位点; 3. 显示方式和内容可由编程设置,为你省去触摸屏。MC881A控制器带有16*2字符型液晶屏,并且液晶屏的显示内容可随时通过控制器自带的RS232接口由计算机下载;显示方式可以编程设定,并且指令简单;4. 通用16个输入、8个输出点,实现逻辑控制,不必外加PLC。MC881A控制器除了一路完整的步进电机控制口外,另有16个通用输入点、8个通用输出点,只需配合几条逻辑指令,可帮你实现简单或复杂的逻辑控制,其功能等价于PLC; 5. 以浮点数进行运算及控制,精度高;系统内部参加运算及在外部进行参数设置,提供浮点支持,可以达到理论上

4、的高精度;6. 支持控制器手动编程和计算机下载。MC881A控制器支持手动编程和计算机编程下载两种编程模式:手动编程界面友好、操作方便;计算机编程有单独的编译软件,并可帮你自动找错,使用简单。第二部分 控制器使用说明一硬件说明1. 功能特点l 适用于单轴步进电机系统应用的任意场合;l 控制轴数:单轴;l 大字符型液晶显示(16*2)和24键薄膜开关: l 坐标参数支持相对坐标和绝对坐标;l 有立即数和寄存器两种寻址方式;l 提供运算指令,可进行复杂控制;l 16个通用输入点、8个输出点,实现逻辑控制,不必外加PLC;l 2个硬件限位点; l 传动机构间隙补偿;l 显示方式可编程选择;l 浮点数

5、进行运算及输入;l 简单方便的键盘编程及上位机编程两种方式。l 40多条指令组成完备的指令空间,帮您完成任意功能;2. 性能指标l 输出脉冲频率:单轴控制8020000Hz任意值可设定; l 16K用户程序空间(最多支持2000条用户程序);l 2K个用户参数存储空间,参数允许范围为:±99999999;l 运算指令以浮点数参加运算;l 当前坐标(位置)、执行次数显示;l 256屏字符显示内容(每屏有部分,共1000个单元内容)可任意调用。3. 电气特性工作电源:220V±50AC;输入检测口:24V开关信号(16路低电平有效);(接口电路示意)输出控制口:50mA/24V

6、(八路常开);(接口电路示意)4. 控制器接线示意 (DB37、CON图标)说明:AC1-AC2:220V交流电源;IN0IN15:16个通用输入点;LIM+、LIM-:左右限位点;JS+、JS-:左右减速点(暂未使用);OT0OT7:输出信号;PU:脉冲信号;DR:方向信号; 24V、GND2:24V电源和地(控制器提供); 5. 安装尺寸二操作说明1. 键盘功能及显示说明按键构成:10个数字键(09),“”(负号)键,“。”(小数点)键,“Pro”(编程)键,“Inc”(插入)键,“Del”(删除)键,“Enter”(确认)键;“Run”(启动)键,“Stop”(停止)键和手动进退键等。按

7、键说明:编程键“Pro”:用于进入下载程序、程序修改及参数设置等工作状态;插入键“Inc”、删除键“Del”:用于在键盘手工编程时插入或删除程序;数字键、小数点、负号键:用于输入参数,并且数字键在程序运行时可用于输入点,可受编程控制; 确认键“Enter”:用户编程或参数设置时确认当前输入的数据有效并并转入下一个参数或程序;停止键:终止程序运行; 手控键“>”、“<”:手动控制步进电机正反转;显示模式:MC881A型控制器的显示功能主要有以下几种:欢迎界面显示:显示16*2(32)个英文字符,每次上电时显示(用户可自定义);状态字符显示:每条指令可以控制显示8个英文字符;数值显示:

8、 可以显示7位正负实数。2. 工作模式3.1自动运行:按下“Run”键系统将按用户输入的程序运行,遇到“END”(0208)指令,程序结束。!注:如果程序复杂,并且用户程序中有逻辑错误,运行结果可能出乎你的预料。3.2手动调整:按下“”或“”键可以控制步进电机的正反转,此时液晶屏显示当前坐标(可以是实际长度或距离值,由脉冲系数调整)。按下“Stop”键退出手动状态;3.4编程状态:按下“Pro”键,选择“1”,输入密码:030410此状态下,用户可在键盘上进行手动编程,或修改程序;请用户注意“Inc”、“Del”、光标键、Enter键的使用;再次按下“Pro”键后,退出编程状态。3.5参数设置

9、:按下“Pro”键,选择“2”,输入密码:200304用户可以对0000-1999共2000个S寄存器进行参数设置或更改。每个S寄存器支持参数大小范围为:±99999999。输入所要修改或设置的寄存器标号,即可对该寄存器数值进行设置。设置完毕后,按下“Enter”键确认。再次按下“Pro”键退出参数设置状态。3.7下载程序:按下“Pro”键,选择“3”在此状态下,用户可以进行上位机的下载实现;请参见“第三部分MotionLogic使用说明”;注意:下载时,控制器应先进入该模式,然后,再在机上进行“控制器连接”;再次按下“Pro”键后,退出下载状态。3.9停止:按下“Stop”键程序“

10、Run”运行时,按下“停止”键,程序停止退出,所有运动停止,进入待机状态;三软件说明1. 变量说明及参数约定MC881A控制器系统提供给用户:l 2000个S型变量(用户程序运行中只可读,不可写及程序修改,参见参数更改),标号为00001999;其中00000049为系统保留变量,有特殊含义,建议用户在编程时尽量不要使用,以下是简要说明: 0000:手动调整时的起始速度;0001:手动调整时的加速度;0002:手动调整时的最高速度;0003:手动调整时,响应点动的最小脉冲数;0004:手动调整时,按键不松开系统所发的最大脉冲数;0005:手动调整时,按键松开后判断是否需要有减速的临界速度;00

11、10: 脉冲系数(单位长度对应脉冲数);0020: 开机界面设置参数;用户可以对上述变量进行更改,以适应实际需要。l 16个M型变量(M0-M15)(用户程序运行中可读可写,可程序修改,只能在用户程序中赋值),标号为20002015。l 当前绝对坐标储存于M17中,其编号为“2017”。该值可读可清零,在程序中可以参加运算及判断,但不能在运算指令中作为“被操作数”进行修改;l 50个位B型(位)变量,标号为050。015(B0-B15)为通用型(位)变量,程序运行时可读可写,可以用作标志位;1631(I0-I15)为输入口(位)变量,可读出输入口状态,对其写无意义;3239(O0-O7)为输出

12、口(位)变量,对其写可进行开关量输出,读无意义。4049(B40-B49)定为键盘数字键(09)第二功能,按键按下,对应(位)变量为,清零指令可将其清零,可读;50(B50)(位)变量,对其清零可以清除4049位变量的值,对其进行其它操作无效。说明:因为MC881A控制器操作面板上没有字母键,为了能使用户输入不同类型的数、变量,型、型变量作了统一编码,型、型、型变量作了统一编码:当你在控制器上直接编程,输入变量代码时,例如:指令(DRVIM)0115100第一参数为100;指令 (DRVIM) 01152001第一参数为1;指令 (JB) 03022,第二参数为5;指令 (JB) 030212

13、,16第二参数为0;指令(JB) 0302 12, 41第二参数为41;指令 (CLRB) 040635第一参数为3;指令含义请参照指令详解本文的指令描述中:l COM表示指令名称,使用上位PC机Motion Logic 编译软件编程时,表示指令标示符,控制器键盘编程时表示其指令码; l #data1,#data2、#data3,#data4等表示常数;l S#1,S#2表示变量(或表示为寄存器),无特别说明,可以是M或S型变量,M#1一般表示为M型变量;l B#1,B#2表示位变量(或表示为位寄存器),可以是通用位变量(B0B15),输入口位变量(I0-I15),输出口位变量(O0-O7),

14、键盘数字键位变量(B40-B49);l 其它符号参照指令中的说明。2. 指令详解2.1 运动类1).运动指令格式:COM #dataCOM S#1#data、S#1:运动数值,S#1可以为M或S型变量;DRVAD/0112绝对地址/常数值单轴运动DRVAM/0113绝对地址/变量值单轴运动DRVID/0114相对地址/常数值单轴运动DRVIM/0115相对地址/变量值单轴运动说明:指令执行时,受控目标将移动#data/S#1(长度数)或移动到#data/S#1(长度位置)(相对原点)。相对地址与绝对地址的判定:相对地址以当前运动执行的起始坐标为原点(或零点),计算得到的相对坐标地址位置;绝对地

15、址相对于当前的坐标值所参考的零点。使用相对地址和绝对地址的指令有区别:使用相对地址的指令其指令代码的倒数第二个后缀为“”,使用绝对地址的为“”;常数值与变量值的判定:常数值以本身数值作参数;变量值以变量所代表的数值作参数;使用常数值或变量值的指令有区别:使用变量值的指令一般指令代码的后缀为“”。长度数值的例:当前坐标=1000,S1303000,指令:“DRVAD 3000”执行结果:系统从当前点,运动到坐标为3000点,如图7;指令:“DRVAM S130”执行结果:同上 指令:“DRVID 3000”执行结果:系统从当前点,正向移动3000,如图8;指令:“DRVIM S130”执行结果:

16、同上 2).运动停止格式: COM;STOP/0116终止步进电机运动;说明:指令执行后,步进电机运动停止。例:指令:“STOP”执行结果:步进电机运动停止; 2.2 命令控制类1).速度设置格式:COM #data1,#data2,#data3COM S#1,S#2,S#3#data1、S#1:最低速度; #data2、S#2 :加速度; #data3、S#3:最高速度;S#1,S#2,S#3可以为M或S型变量;SPEED/0200 常数格式速度参数设置SPEEDM/0201变量值格式速度参数设置说明:1.该指令对其后的运动有效;2.速度曲线为梯形加速,最高速度需大于最低速度;3.参数单位为

17、脉冲频率,最低速度>80,最高速度<20000,加速度A越大,其速度曲线越陡峭,见图9;4.对于插补速度的设置,其频率值对应于运动轨迹的线速度;5.参数必须同为常数或者变量形式;例:S140=500,S141=8,S142=2000(见图),指令:“SPEED 800,12,4000”执行结果: 步进电机的速度设置为:起始速度为800赫,加速度为12,最高速度为4000赫;指令:“SPEEDM S140,S141,S142”执行结果:步进电机的速度设置为:起始速度为500赫,加速度为8,最高速度为2000赫;2).补偿格式: COM #dataCOM S#1#data、S#1:间隙

18、补偿的数值,S#1可以为M或S型变量;ADJ/0202ADJM/0203说明:该指令用于设置系统运动换向时的机械间隙补偿。例:指令:“ADJ 20”执行结果:正反向换向时,预先正向发20个脉冲; 3).暂停等待格式: COM PAUSE/0204说明:指令执行后,系统直到上一运动执行结束后,再执行下一条指令。例:指令:“PAUSE ”执行结果:等待运动停止,然后执行下一条指令,如果当前没有运动,则直接执行下一条程序;4).延时格式: COM #dataCOM S#1#data或S#1:延时时间,S#1可以为M或S型变量;DELAY/0206固定时间延时DELAYM/0207可变时间延时说明:指

19、令执行后,系统暂停M1毫秒的时间。“Delay 0”用作空指令;例:S1503000;指令:“DELAY 200”执行结果:延时200毫秒;指令:“DELAYM S150”执行结果:延时3秒;5).程序结束格式: COMEND/0208说明:程序结束指令,用来标示用户程序结束,用户编程必需。例:指令:“END”执行结果:当系统执行到该条指令后,系统停止执行,返回待机状态,直到再次“自动”键按下;6).显示指令格式: COM #data1,#data2,#data3COM #data1,S#2,#data3DISPLAY/0210说明:调用显示指令,用于显示程序运行中用户想要看到的信息。#dat

20、a1:显示格式;#data2或S#2:显示内容;#data3:显示位置。显示格式:0:显示整屏;可以整屏显示;1:固定格式显示坐标值;2:固定格式显示加工(完成)次数;加工次数可以设置为20002015中的某个M型变量,用户需要在程序的循环中用加一指令来维护;4:显示状态单元界面的内容;6:显示某个参数的数值;9:清屏。显示内容:当显示格式为0:指定所要显示的页面(1-300);当显示格式为2、6:指定所要显示的为哪个M/S寄存器(02017);当显示格式为4:指定所要显示的为哪个状态界面单元(0-999);当显示格式为9:内容为任意值;显示位置:当显示格式为4、6:指定所要显示的内容在一屏中

21、的哪个位置(0-7);当显示格式为其它:内容为任意值。指令:“DISPLAY 9,0,0”执行结果:该指令执行后,液晶无显示;显示指令的的其它功能使用请参见“第四部分 编程实例 例4”6).速度改变格式: COM #data1,#dataCOM S#1,S#2#data或S#1:加速度; #data2,S#2:最高速度CHSPEED/0212 常数格式速度改变指令CHSPEEDM/0213变量格式速度改变指令说明:该类指令适用于运动过程中的速度改变,例如遇到减速点。该指令执行后,所指定的运动类型的运动将以SA的加速度改变至SH。可以加速,也可以减速。例:当前速度为8000赫,S160=10,S

22、161=500;指令:“CHSPEED 10,500”执行结果:控制步进电机的脉冲速度由8000赫,以加速度10,降为500赫,速度与时间曲线图如图10;指令:“CHSPEEDM S160,S161”执行结果:同上;例:当前速度为2000赫/秒,S160=10,S161=8000;指令:“CHSPEED 10,8000”执行结果:控制步进电机的脉冲速度由2000赫,以加速度10,升为8000赫,速度与时间曲线图如图10;指令:“CHSPEEDM S160,S161”执行结果:同上;7).设定零点格式: COM SETC/0214 设置当前位置为零点说明:该指令执行后,当前坐标值清零。 例:当前

23、坐标为3000;指令:“SETC”执行结果:坐标为0;8).调用子程序格式:COM #lineCALL/0216跳转至#line行执行程序(自动保留当前程序行号),与“RET”指令配合使用;说明见下一指令。9).子程序返回格式:COM RET/0217返回上次“CALL”调用指令的下一行程序执行;例:行号指令20CALL 100跳转到“100”行程序执行21MOV M1,10100DRVID 2000120RET返回到“21”行程序执行2.3 跳转类1).无条件跳转格式: COM #lineCOM M#1#line:跳转的目的行号,M#1寄存器指定的行号;JMP/0300跳转到指定行JMPM/

24、0301跳转到M型变量值指定的行号说明:1.执行该条指令,程序将跳转#line行或M/S型变量指定的行接着执行。2.可以跳转当前行的前面,也可跳转到当前行的后面,但行号不能大于397,不能小于1,以下跳转指令同。 3.当程序中有出现多级的程序调用,即程序嵌套调用时,子程序返回建议使用“JMPM”;例:当前执行程序100行,变量M1011,指令:“JMP 10”执行结果:程序跳转到10行执行;指令:“JMPM M10”执行结果:程序跳转到11行执行;2).位跳转格式: COM #line,B#1B#1:位变量;#line:目的行号;JB/0302等于1跳转;JNB/0303不等于1跳转说明:1.

25、这两条指令是位跳转指令,可以检测通用B型变量、输入口、键盘数字键(请参见变量说明);2.通用位变量(B0-B15)1有效,0无效;输入口位变量(I0-I15)0有效,1无效;键盘数字键(B40-B49)位变量有键按下时有效;3.条件满足时跳转到指定行运行,否则执行下一条指令。例:指令:“JB 10,B2”执行结果:如果B21,跳转到第10行程序;如果B20,接着执行下一条程序;指令:“JNB 10,B2”执行结果:如果B20,跳转到第10行程序;如果B21,接着执行下一条程序;指令:“JB 15,I1”执行结果:如果I1输入点有效(I1为低电平),跳转到第15行程序;如果I1输入点无效(I1为

26、高电平),接着执行下一条程序;指令:“JNB 15,I1”执行结果:如果I1输入点无效(I1为高电平),跳转到第15行程序;如果I1输入点有效(I1为低电平),接着执行下一条程序;指令:“JB 55,B41”执行结果:如果键盘数字键“1”按下,跳转到55行;否则,执行下一条程序;指令:“JNB 55,B44”执行结果:如果键盘数字键“4”一直没有按下,跳转到55行;否则,执行下一条程序;3).比较跳转格式: COM #line,S#1,#dataCOM #line,S#1,S#2 S#1,#data或S#1,S#2:相比较的两个数(可以为M或S变量),#line跳转的目的行号;JGD/0304

27、变量值与常数值比较,大于则跳转,JGM/0305变量值与变量值比较,大于则跳转,JLD/0306变量值与常数值比较,小于则跳转,JLM/0307变量值与变量值比较,小于则跳转,JED/0308变量值与常数值比较,等于则跳转,JEM/0309变量值与变量值比较,等于则跳转,JNED/0310变量值与常数值比较,不等于则跳转,JNEM/0311变量值与变量值比较,不等于则跳转,说明:当相应条件成立时跳转到指定行,否则执行下一条指令。相比较的两个数必须同为常数或变量;例:M1=550,S100600,指令:“JGD 20,M1,500”执行结果:跳转到20行(条件成立);指令:“JGM 30,M1,

28、S100”执行结果:转下一条指令(条件未成立);指令:“JLD 20,M1,500”执行结果:转下一条指令(条件未成立);指令:“JLM 30,M1,S100”执行结果:跳转到30行(条件成立);指令:“JED 20,M1,550”执行结果:跳转到30行(条件成立);指令:“JEM 30,M1,S100”执行结果:转下一条指令(条件未成立);指令:“JNED 20,M1,550”执行结果:转下一条指令(条件未成立);指令:“JNEM 30,M1,S100”执行结果:跳转到30行(条件成立);4).减一跳转格式: COM #line,M#1 M#1变量减1后大于零则跳转至# line行;LOOP

29、/0312减一跳转/循环跳转#次(常数);LOOPM/0313M型变量减一跳转/循环跳转M#1次;说明:1.这两条指令用于建立循环,可以用常数指明次数,也可以用变量型指令以方便次数更改;2.当采用变量型指令时,变量为M型变量,并且在跳转目的行和当前行之间不能用指令改变该变量的值;3.LOOP指令不允许嵌套,即Loop指令与目的行之间不能再次出现该指令;LOOPM指令允许嵌套,但必须指定为不同的M型变量。再次强调:跳转的目的行号必须为有效数值:1396,否则会出现不可预知的错误。例:M10100,指令:“LOOP 50,20”执行结果:循环跳转到50行20次;指令:“LOOPM 30,M10”执

30、行结果:循环跳转到30行100次;2.4 逻辑(对位操作)1).与格式: COM B#1,B#2AND/0400说明:双操作数都为位变量。B#1位变量与B#2位变量“与”,结果存于B#1;当B#1为输出口位变量时,该指令影响输出口状态;B#1不能为输入口位变量。例:当前B1=1;B2=0,I1=0,O1=1,指令:“AND B1,B2”执行结果:B1=B1&B2=1&0=0,指令:“AND O1,I1”执行结果:O1=O1&I1=1&0=0,输出口O1有效;2).或格式: COM B#1,B#2;OR/0402说明:双操作数都为位变量。B#1位变量和B#2位变量

31、”或”,结果存于B#1;当B#1为输出口位变量时,该指令影响输出口状态;B#1不能为输入口位变量。例:当前B1=0;B2=1,I1=1,O1=0,指令:“OR B1,B2”执行结果:B1=B1|B2=0|1=1;指令:“OR O1,I1”执行结果:O1=O1|I1=0&1=1,输出口O1无效;3).非格式: COM B#1;CPL/0404说明:操作数为位变量。该指令对B#1位变量的值取反;当B#1为输出口位变量时,该指令改变输出口状态;B#1不能为输入口变量。例:B1=0,O3=1;指令:“CPL B1”执行结果:B1=!B=!0=1;指令:“CPL O3”执行结果:O3=!O3=!

32、1=0,输出口O3反转;4).置位格式: COM B#1;SETB/0406说明:操作数为位变量。该指令对B#1位变量的值置1;当B#1为输出口位变量时,该指令使输出口有效(低电平);B#1不能为输入口位变量。例:指令:“SETB B1”执行结果:B1=1;指令:“SETB O6”执行结果:O6=0,输出口有效;5).清零格式: COM B#1;CLRB/0408说明:操作数为位变量。该指令对B#1位变量的值清零;当B#1为输出口位变量时,该指令使输出口无效(高电平);B#1不能为输入口位变量。例:指令:“CLRB B1”执行结果:B1=0指令:“CLRB O6”执行结果:O6=1输出口无效;

33、2.5 运算类1).加格式:COM M#1,S#1;ADD/0500变量加常数值ADDM/0501变量加变量值(M或S型变量)说明:运算指令的目的操作数必须为M型变量(可读可写),原操作数可为M或S型变量或常数。“加”运算结果:目的操作数加上源操作数,结果存于目的操作数M型变量。例:M1=200,M2=300,S100=400;指令:“ADD M1,500”执行结果:M1=M1+500=200+500=700;指令:“ADDM M1,M2”执行结果:M1=M1+M2=200+300=500;指令:“ADDM M1,S100”执行结果:M1=M1+S100=200+400=600;2).减格式:

34、 COM M#1,S#1;SUB/0502变量减常数值SUBM/0503变量减变量值(M或S型变量)说明:“减”运算结果:目的操作数减去源操作数,结果存于目的操作数M型变量。; 目的操作数:M#1为M型变量;原操作数:M2可为M或S型变量。例:M1=200,M2=300,S100=400;指令:“SUB M1,500”执行结果:M1=M1-500=200-500=-300;指令:“SUBM M1,M2”执行结果:M1=M1-M2=200-300=-100;指令:“SUBM M1,S100”执行结果:M1=M1-S100=200-400=-200;3).增1格式: COM M#1;INC/050

35、4M型变量M#1的值加1;说明:“增一”运算结果:M型变量M#1每执行该指令一次,其值增一。多用于循环、计数。例:当前M1210,指令:“INC M12”执行结果:M12=M12+1=11;4).减1格式: COM M#1;DEC/0506M型变量M#1的值减1;说明:“减一”运算结果:M型变量M1每执行该指令一次,其值减一。多用于循环、计数。例:当前M1210,指令:“DEC M12”执行结果:M12=M12-1=9;5).清零格式: COM M#1;CLR/0508说明:“清零”运算结果:M型变量M#1的值清零;例:指令:“CLR M12”执行结果:M12=0;6).乘格式:COM M#1

36、,S#1;MUL/0510M型变量乘以常数值MULM/0511M型变量乘以变量值(M或S型变量)说明:运算指令的目的操作数必须为M型变量(可读可写),原操作数可为M或S型变量或常数(“除”指令同)。“乘”运算结果:目的操作数加上源操作数,结果存于目的操作数M型变量。例:M1=200,M2=12,S100=13;指令:“MUL M1,11”执行结果:M1=M1*11=200*11=2200;指令:“MULM M1,M2”执行结果:M1=M1*M2=200*12=2400;指令:“MULM M1,S100”执行结果:M1=M1*S100=200*13=2600;7).除格式: COM M#1,S#

37、1;DIV/0512M型变量除以常数值DIVM/0513M型变量除以变量值(M或S型变量)说明:“除”运算结果:目的操作数除以原操作数,结果存于目的操作数;结果有小数,舍去;例:M1=2000,M2=12,S100=13;指令:“DIV M1,10”执行结果:M1=M1/10=2000/10=200;指令:“DIVM M1,M2”执行结果:M1=M1/M2=2000/12=166;指令:“DIVM M1,S100”执行结果:M1=M1/S100=2000/13=153;2.6 数据传送类1). MOV/0600格式:COM M1,#data常数送入变量M1;MOVM/0601格式: COM M

38、1,M2变量M2的值送入变量M1; 说明:常数值或变量值送入型变量。例:M0=101,S100=202,指令:“MOV M2,100”执行结果:M2100;指令:“MOVM M2,M0”执行结果:M2=M0=101;指令:“MOVM M2,S100”执行结果:M2=S100=202;2). SLD/0602格式:COM S#1,#data数值写入S型变量SLM/0601格式: COM S#1,S#1M或S型变量的值写入S型变量 S#1例:M0=101,S100=202,指令:“SLD S2,100”执行结果:S2100;指令:“SLM S2,M0”执行结果:S2=M0=101;指令:“SLM

39、S2,S100”执行结果:S2=S100=202;说明:该指令使用时要千万小心,因为S型变量是存储于EEPEOM中,由于EEPEOM写的次数有限,因此,千万不要在一个正常循环中使用该指令。3). LP/0604格式:COM M#1,M#2M#2所表示的变量的值存于M#1变量中,该指令可以认为是指针操作; 例:M0=2,M3=200,S2001890;M41003;指令:“LP M0,M3”执行结果:M0S2001890;“LP M0,M4”执行结果:M0M3200;说明:该指令类似于一些高级编程语言的指针操作,第二个M变量就象指针(或理解为地址), 该指令将“指针”指向的单元的内容赋给第一个M

40、型变量。例如以下程序:实现了将S100S199,100个S型变量依次调出并显示出来;3. 指令编码表MC881A控制器共66条指令,表中采用了下述符号:#data:表示为一个数值,范围为-9999999999999999;S#1,S#2,S#3,S#4:若无特别说明,表示为某个M或S型变量;M#1,M#2:表示为某个M型变量;#line:表示为某一行,为小于2048的正数;X:表示为某个轴或某类运动;B#1、B#2:表示为某个B型位变量;(一) 运动类指令助记符指令代码说明DRVAD #data0112步进电机运动到指定点DRVAM #data0113同上,但点坐标存于S或M变量中DRVID

41、#data0114步进电机运动若干数值DRVIM S#10115同上,但数值存于S或M变量中STOP 0116步进电机停止运动(二) 命令控制类指令助记符指令代码说明SPEED #data1,#deta2,#data30200设定控制步进电机脉冲的起始、加、最高速度SPEEDM S#1,S#2,S#30201同上,但速度值存于S或M变量中ADJ #data0202设定间隙补偿ADJM S#10203同上,但间隙补偿数值存于S或M变量中PAUSE 0204等待上一次步进电机运动结束DELAY #data0206延时指令,延时多少时间,毫秒为单位DELAYM S#10207同上,但时间值存于S或M

42、变量中END0208程序结束DISPLAY #data1,#data2,#data30210显示指令CHSPEED X,#data1,#data20212指定某个轴、某类运动的速度改变CHSPEEDM X,S#1,S#20213同上,但速度值存于S或M变量中SETC 0214设定原点,即坐标值清零CALL #line0216调用某行的程序RET0217返回CALL指令的下一行(三) 跳转类指令助记符指令代码说明JMP #line0300跳转到某行程序执行JMPM #M0301同上,但行号存于M变量中JB #line, #B0302某个位变量有效的话,跳转到某一行JNB #line,#B0303

43、某个位变量无效的话,跳转到某一行JGD #line,S#1,#data0304如果指定的M或S变量大于某个数值的话,跳转到某一行JGM #line,S#1,S#20305如果指定的M或S变量大于另一个M或S变量,跳转到某一行JLD #line,S#1,#data0306如果指定的M或S变量小于某个数值的话,跳转到某一行JLM #line,S#1,S#20307如果指定的M或S变量小于另一个M或S变量,跳转到某一行JED #line,S#1,#data0308如果指定的M或S变量等于某个数值的话,跳转到某一行JEM #line,S#1,S#20309如果指定的M或S变量等于另一个M或S变量,跳转

44、到某一行JNED #line,S#1,#data0310如果指定的M或S变量不等于某个数值的话,跳转到某一行JNEM #line,S#1,S#20311如果指定的M或S变量不等于另一个M或S变量,跳转到某一行LOOP #line,#data0312指定跳转到某一行若干次LOOPM #line,M#10313同上,但次数存于M或S变量中(四) 逻辑类指令(对位操作)助记符指令代码说明AND B#1,B#20400两个位变量进行与,存于第一个位变量OR B#1,B#20402两个位变量进行或,存于第一个位变量CPL B#10404将某个位变量取反SETB B#10406将某个位变量置位CLRB B

45、#10408将某个位变量清零(五) 运算类指令助记符指令代码说明ADD M#1,#data0500指定的M变量加上某一数值ADDM M#1,M#20501同上,但数值存于另一个M或S变量中SUB M#1,#data0502指定的M变量减去某一数值SUBM M#1,M#20503同上,但数值存于另一个M或S变量中INC M#10504指定的M变量加1DEC M#10506指定的M变量减1CLR M#10508清指定的M变量MUL M#1,#data0510指定的M变量乘于某一数值MULM M#1,M#20511同上,但数值存于另一个M或S变量中DIV M#1,#data0512指定的M变量除以某

46、一数值DIVM M#1,M#20513同上,但数值存于另一个M或S变量中数据传送类指令助记符指令代码说明MOV M#1,#data0600将指定的M变量赋于指定的数值MOVM M#1,M#20601同上,但数值存于另一个M或S变量中SLD S#1,#data0602将指定的数值赋于指定的S型变量SLM S#1,M#10603同上,但数值存于另一个M或S变量中LP M#1,M#20604将第二M变量中的置所代表的M或S变量的值置给第一个M变量第三部分Motion Logic使用说明关于软件名称(Motion Logic M)Motion Logic表明软件是用于运动控制程序编制。M表示这一个版本

47、是适用于用于白山MC系列控制器。白山机电始终关注工控领域,今后还将推出板卡类的运动控制产品,Motion Logic软件采用在软件名称后加一个字母来区分。“”则是其在白山软件序列中的编号。声明Motion Logic系列软件和白山MC系列控制产品的版权归深圳白山机电一体化技术有限公司所有。任何人未经许可不得对白山机电一体化技术有限公司的软硬件产品进行反向工程,反向编译和各种解密。安装到本地Motion Logic为绿色软件,当您获得Motion Logic程序副本,只需将Motion Logic.exe复制到任意目录,即可执行。它不会在您的系统添加任何额外信息。MotionLogic 的编辑环

48、境使用说明白山MC系列控制器提供了充足的程序指令,用户使用这些指令的组合可以完成丰富的功能。通常对控制器编程有三个步骤:程序输入,编译和下载到控制器,另外,有时候还要对控制器进行一些设置。以下逐步说明。1. 输入程序打开MotionLogic,它的主界面是一个程序输入窗口,如图1所示。在这里可以输入程序代码,它提供了和一般文本编辑器相似的复制、粘贴、剪切、查找、文件保存等功能。 图1 Motion Logic主界面2. 程序编译程序源代码写好之后,就可以执行编译了。点菜单的【工具】,然后选择 【编译】。将弹出对话框,如图2所示。图2 编译窗口在窗口上方的文本框输入目标文件存放路径和文件名,或者点击【浏览】,在弹出的对话框框中,手动选择存放路径,并输入文件名。编译好白山控制器目标文件的缺省后缀是“.bso”。文件名输入完毕后,点击【编译

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论