一个人的性格和脾气好不好,也取决于他多角度看问题的能力:视角单一的人容易固执急躁和钻牛角尖,而视角多元的人则表现得更为指挥,平和与包容!
SET_PORT_ASG 内置程序
用途: 允许KAREL程序将一个或多个逻辑端口分配给指定的物理端口
语法 : SET_PORT_ASG(log_port_type, log_port_no, rack_no, slot_no, phy_port_type,
phy_port_no, n_ports, status)
Input/Output 参数 :
[in] log_port_type : INTEGER
[in] log_port_no : INTEGER
[in] rack_no : INTEGER
[in] slot_no : INTEGER
[in] phy_port_type : INTEGER
[in] phy_port_no : INTEGER
[in] n_ports : INTEGER
[out] status : INTEGER
%ENVIRONMENT Group :IOSETUP
• log_port_type 指定要分配的端口类型的代码。 代码以KLIOTYPS.KL定义。
• log_port_no 指定要分配的端口号。
• rack_no 是包含端口模块的机架。对于过程I / O板,存储器映像和虚拟端口,这是零;对
于 Allen-Bradley 和 Genius 端口,这是16。
• slot_no 是包含端口模块的插槽。对于过程I / O板,这是SLC-2链中的序列。对于内存映
像和虚拟端口,这是零;对于 Allen-Bradley 和 Genius 端口,这是1。
• phy_port_type 是要分配给的端口类型。通常这与log_port_type相同。例外情况是
log_port_type 是组类型( io_gpin或io_gpout)还是将端口分配给内存映像或虚拟端口.
• phy_port_no 是要分配给的端口号。如果log_port_type是一个组,则这是该组的最低有
效位的端口号。
• n_ports 是要分配给逻辑端口的物理端口数。如果 log_port_type 是组类型,则 n_ports
表示组中的位数。设置数字I / O时,n_ports是您正在配置的点数。在大多数情况下, 这
将是8,但可能是1到8。
• 如果参数有效,则返回零状态。否则,将返回错误代码。如果指定的端口不存在或者不允
许将 log_port_type 分配给 phy_port_type,则分配无效。
今天再看Karel说明书 里面有些到KLIOTYPS.KL程序代码定义 现在介绍一下
CONST
io_all = 0 -- Any I/O type
io_din = 1 -- Digital input
io_dout = 2 -- Digital output
io_anin = 3 -- Analog input
io_anout = 4 -- Analog output
io_tool = 5 -- Tool output
io_plcin = 6 -- PLC input
io_plcout = 7 -- PLC output
io_rdi = 8 -- Robot digital input
io_rdo = 9 -- Robot digital output
io_brake_out = 10 -- Brake output
io_opin = 11 -- operator panels input
io_opout = 12 -- operator panels output
io_sopin = 11 -- Same as io_opin
io_sopout = 12 -- Same as io_sopout
io_estop = 13 -- Emergency stop
io_tpin = 14 -- Teach pendant digital input
io_tpout = 15 -- Teach pendant digital output
io_wdi = 16 -- weld inputs
io_wdo = 17 -- weld outputs
io_gpin = 18 -- Grouped inputs
io_gpout = 19 -- Grouped outputs
io_uopin = 20 -- User operator's panel input
io_uopout = 21 -- User operator's panel output
io_ldin = 22 -- laser DIN
io_ldout = 23 -- laser DOUT
io_lain = 24 -- laser AIN
io_laout = 25 -- laser AOUT
io_wstk_in = 26 -- weld stick input
io_wstk_out = 27 -- weld stick output
io_mem_boo = 28 -- memory image boolean's
io_mem_num = 29 -- memory image din's
io_dummy_boo = 30 -- dummy boolean port type
io_dummy_num = 31 -- dummy numeric port type
io_proc_axes = 32
io_iopin = 33 -- Internal operator's panel input
io_iopout = 34 -- Internal operator's panel output
io_flag = 35 -- Flag (F[ ])
io_marker = 36 -- Marker (M[ ])
max_log_port = 36
-- physical only
io_keep_rly = 41 -- Backuped internal relay
io_rly = 42 -- No backuped internal relay
io_keep_reg = 43 -- Backuped internal register
io_reg = 44 -- No backuped internal register
max_phy_port = 44
io_min_type = 1 -- same as io_din
io_max_type = 44 -- same as max_log_port