工控:Intouch嵌入式函数编写


//mocczynna.h
extern "C" float PASCAL EXPORT mocczynnaTg(float k1,float k2, int Q_MPEC, int Q_STOMIL, int Q_STAB,int Q_3_0, int Q_1_7, int Q_0_8);
extern "C" int PASCAL EXPORT wwMes(int i);


//mocczynna.cpp 
extern "C" float PASCAL EXPORT mocczynnaTg(float k1,float k2, int Q_MPEC, int Q_STOMIL, int Q_STAB,int Q_3_0, int Q_1_7, int Q_0_8)
{
	int Q_CO,Q_TECH;
	Q_CO=Q_MPEC+Q_STOMIL+Q_STAB;
	Q_TECH=Q_3_0+Q_1_7+Q_0_8;
	return (k1*Q_CO+k2*Q_TECH);
}

extern "C" int PASCAL EXPORT wwMes(int i)
{
	AfxMessageBox("srkj");
	return 0;
}

extern "C" long PASCAL EXPORT pastemocczynnaTg(LPSTR funcName, LPSTR result )
{
	long hilite=0;

	lstrcpy(result, funcName);

	if(lstrcmpi(funcName, "mocczynnaTg") == 0) 
	{
		//intouch脚本编辑器的生成格式
		lstrcat(result, "(k1,k2,Q_MPEC,Q_STOMIL,Q_STAB,Q_3_0,Q_1_7,Q_0_8);" );
		//intouch脚本编辑器的插入符所选择的内容 从第12个字符开始到第14个字符结束
		hilite = MAKELONG(12,14);
	}

	if(lstrcmpi(funcName, "wwMes") == 0) 
	{
		lstrcat(result, "(i);" );
		hilite = MAKELONG(6,7);
	}

	return(hilite);
}


//mocczynna.def
; mocczynna.def : Declares the module parameters for the DLL.

LIBRARY      "mocczynna"
DESCRIPTION  'mocczynna Windows Dynamic Link Library'

EXPORTS
    ; Explicit exports can go here
    pastemocczynnaTg
    mocczynnaTg
    wwMes


//mocczynna.idf
;
; mocczynna.IDF
;
Version=1

mocczynnaTg, , ,0,0x08000028,pastemocczynnaTg,MOCCZYNNA,MOCCZYNNA,mocczynnaTg,PASCAL,float,float,float,int,int,int,int,int,int
wwMes, , ,1,0x08000028,pastemocczynnaTg,MOCCZYNNA,MOCCZYNNA,wwMes,PASCAL,int,int

01.在Intouch中所显示的函数名
02.帮助文件路径
03.调用帮助文件的参数
04.intouch中函数的返回值 0为有返回值 1为无返回值
05.0x08000028代表数学函数中显示,其他没测试出来
06.pastemocczynnaTg和dll中的函数名对应
07.MOCCZYNNA dll文件的文件名
08.MOCCZYNNA dll文件的文件名
09.dll中的函数名称
10.PASCAL dll中函数调用约定
11.int dll中函数返回值类型
12.int dll参数列表,必须含有一个参数,否则会出错,没测试成功
13.具体参考InTouch Extensibility Toolkit.pdf第九章


//CRYPT.exe 生成wdf文件
CRYPT mocczynna.idf mocczynna.wdf /e
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值