参考函数:cnc_wrmacro
描述
写入由“数字”指定的自定义宏变量。数据必须以“mcr_val”、“dec_val”和签名二进制格式存储。
自定义宏变量的种类如下。无法写入局部变量。
- 公共变量(#100 到 #999)
- 请参阅cnc_rdmacroinfo函数的说明,了解公共变量的可用范围。
- 系统变量(#1000 到 #9999)
- #3000、#3003、#3004 和 #3006 不能写入。
参数 cnc_wrmacro(FlibHndl, number, 10, mcr_val, dec_val)
FlibHndl [ in ]
指定库控点。有关详细信息,请参阅“库句柄”。
number
[ in ]
指定自定义宏变量号。
长度 [ in ]
指定 10。
mcr_val [ in ]
指定变量的值/变量的数字部分。
dec_val [ in ]
指定变量的小数/指数部分的位数。
代码如下:
private void Form1_Load(object sender, EventArgs e)
{
string ip = "192.168.1.181";
string port = "8193";
string timeout = "3";
int ret = Fanuc.cnc_allclibhndl3(ip, Convert.ToUInt16(port), Convert.ToInt32(timeout), out Fanuc.h);
if (ret == Fanuc.EW_OK)
{
//MessageBox.Show("连接成功!");
timer1.Interval = 3000;
timer1.Start();
}
else
{
MessageBox.Show(ret + "");
}
}
public short write_macro(short macro_number, int value, short dec)
{
short ret;
ret = Focas1.cnc_wrmacro(Fanuc.h, macro_number, 10, value, dec);
return (ret);
}
private void button6_Click(object sender, EventArgs e)
{
for (short i = 100; i <= 123; i++)
{
write_macro(i, 2, Convert.ToInt16(i -100));
//宏变量i=100的值=2*10^0,宏变量i=101依次类推
}
}