Power PMAC运动控制器 —— 学习笔记5

1. PLC程序的编写

对于PLC程序的语法结构与运动程序prog写法相同,不再赘述,需要请翻看文章《Power PMAC运动控制器 —— 学习笔记2》,其他可以在PLC中使用的函数或者符号请在手册《Power PMAC Software Reference Manual》中查看。

结构如下:

//局部变量的定义
global Counter = 0; 

open plc plc_name 
	//{程序主体}
	Counter++; 
close 

值得注意的是,plc是一种循环扫描机制,并且同时使用几个plc可以实现类似于多线程的功能!

2. 使能和关闭PLC程序的方法

  1. 在cmd窗口中:
enable plc plc_name  //使能plc_name程序
enable plc 1..5,7	 //同时使能1、2、3、4、5、7号plc

disable plc plc_name //关闭plc_name程序
disable plc 1,3..5 //同时关闭1、3、4、5号plc
  1. 在程序中:
enable plc plc_name  //使能plc_name程序
enable plc 1..5,7	 //同时使能1、2、3、4、5、7号plc

disable plc plc_name //关闭plc_name程序
disable plc 1,3..5 //同时关闭1、3、4、5号plc
  1. 上电使能PLC的方法
    在这里插入图片描述
    在工程树下的Configuration文件下的pp_startup.txt文件中写入:

    enable plc 1;
    

并保存,则上电后1号plc程序将自动运行。

注意,1为plc的程序名称

3. PLC中运行运动程序的方法

  1. 使用指定的指令

    //打开运动程序
    start n:m //启动坐标系n中的m程序
    
    //停止运动程序
    abort m //停止运动程序m
    
  2. 直接使用与cmd相同命令的指令

    cmd"&m bn r" //与窗口命令相同,选定坐标系m,运行程序n
    

在PLC程序中可以使用cmd"" 命令运行任何cmd命令,包括#1J/此类的命令

4. PLC调用子程序的方法

特殊函数的调用:

dwell 1000 //延时1000ms,与运动程序中相同

自定义子函数的调用:

call function_name(参数);
//例如调用自己编写的延时函数delay
call delay(10);

5. 子程序的编写

比较简单,结构跟prog、运动学程序以及PLC程序相同

open subprog function_name(参数)
	//函数主体
close

以自定义延时函数为例:

/**********************************************/
// 功 能:  延时函数,单位:秒
//  @     Jack Soong
// Time:  2019.02.21
/**********************************************/
open subprog delay(delay_time)
  local EndTime;
  EndTime = Sys.Time + delay_time;
  while(EndTime>Sys.Time){};
  return;
close

注意,在子程序中也可以使用cmd"" 命令启动运动程序prog,但当具有多个运动程序时要避免这么做,因为运动程序不能同时运行,否则会出现问题,当然它的前提是两个运动程序操作的电机有交叉,因为一个电机只能接受一个程序的命令。

发布了78 篇原创文章 · 获赞 57 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43455581/article/details/99102666