坐标文本(coor)

功能

显示机床某个轴的坐标数据或轴名称

支持的数据

  • 绝对坐标、机床坐标、相对坐标、余移动量、轴名称

相对坐标、余移动量和轴名称(V2.4开始支持)
坐标coor支持设置通道号(V3.4开始支持)

参数

  • 轴描述字符串(可以为轴名称或描述轴号的字符串,轴名称如 X,表示全局轴名,跟通道无关;轴号用"coorN$x"表示,其中N为正整数,表示通道内轴号, $x的x为正整数,表示通道号),此参数类型为字符串,所以应写作 "X""coor1"coor3$1
  • 控件所在位置及所占空间大小,此参数类型为元组,写作 (a, b, c, d) 其中a/b/c/d都应该是正整形值分别表示控件的 起始行/起始列/所占行数/所占列数,其中c/d可以省略,省略时值均为1。
  • 坐标类型,取值可以为 绝对/机床/相对/余移动量/轴名称,此参数非字符串类型,直接将值写在此处即可,写作 机床或其英文 Coor.mt ,此参数可以省略,默认为绝对。
  • 对齐方式(不设为默认值)
  • 颜色(不设为默认值)
  • 字体大小(不设为默认值)
  • format 对数值的显示进行格式化,格式为format="%xxx",是C语言库函数printf的子集,目前仅支持几种简单的格式化,在下面列出。使用此参数时,必须使用data_type参数,且此时参数的格式化需要与data_type类型相对应。格式化时不会改变变量的值,但会改变其显示形式。一些情况可能会导致显示的值与变量真实值不符。(使用此参数时你需要明确知道你在做什么,并且不会给自己和用户带来困扰)。此参数在"坐标类型"参数值不为轴名称时使用。下面是目前支持的格式化形式。
    • coor(“X”, (1, 1), format="%.nf", data_type=‘float’) 此时将数据格式化为浮点型,n为正整形数值,此时控件会显示n位小数,剩余小数部分按四舍五入处理。此时必须设置data_type参数为’float'。".n"可以省略,省略时默认显示6位小数。
    • coor(“X”, (1, 2), format="%0nd", data_type=‘int’) 此时将数据格式化为带符号整形,n为正整形数值,此时控件中数据宽度最小为n,左侧用0补齐,此时必须设置data_type参数为’int’或’uint'。“0n"可以省略,省略时没有最小宽度限制。
    • coor(“X”, (1, 3), format="%0nu”, data_type=‘uint’) 此时将数据格式化为无符号整形,n为正整形数值,此时控件中数据宽度最小为n,左侧用0补齐,此时必须设置data_type参数为’uint'。“0n"可以省略,省略时没有最小宽度限制。
  • data_type 数据的类型,可取的值共有三种类型’int'/‘uint’/‘float’,分别代表 有符号整形/无符号整形/浮点型。格式为 data_type='int', 此参数需要与format参数一起使用来实现格式化的功能,单独使用无意义。(参数为特定需求的情况设计,无特殊需求勿用,以免造成不必要的困扰。)
  • 是否显示:不显示visible=0(v3.3新增)

    当通道不存在或轴不存在时返回空值

示例

此控件用于在自定义界面中显示某一个轴的实时坐标,可以为绝对坐标或机床坐标,应该与能说明坐标类型和轴名称的text控件一起使用。 例如:下面的这种常用表现形式,text控件说明坐标类型和轴名,coor控件显示实时坐标。

coor

with page(10, 5, id="Coor", text=(绿色, f32x16, 居中)):
    label("[绝对坐标]", (2, 1))         #label控件,在2行1列,占1行1列,显示静态字符串
    coor("X", (3, 1), 轴名称)           #coor控件,在3行1列,占1行1列,显示轴名称 X
    coor("X", (3, 2), 绝对)             #coor控件,在3行2列,占1行1列,显示X轴绝对坐标
    coor("coor2", (4, 1), 轴名称)       #coor控件,在4行1列,占1行1列,显示2轴名称,此例中为 Z
    coor("coor2", (4, 2), 绝对)         #coor控件,在4行2列,占1行1列,显示2轴绝对坐标,此例中为Z轴
    coor("coor2[abs]$2", (3, 2))       # 通道2轴2机床                                                                      
    coor("coor3[mt]$[D32]", (3, 4))      #通道表达式为d32,通道内轴3                                                                                                                                                                                                                                                                                                                                                                          
    coor("coor2[rel]$2", (5, 2))       # 通道2轴2相对
    teach("#500", "X1[abs]", (1, 2))    #轴名为X1的轴                                                                                
    teach("#502", "coor1[abs]$1", (1, 4)) #通道1轴1                                                                                                                                         
    teach("#503", "coor1[abs]", (2, 2))  #通道1轴1                                                                  
    teach("#504", "coor1[abs]$[D32]", (2, 4), enable="#500+1")  #通道表达式为d32,通道内轴1