当前位置:
工控论坛
> >
产品
>
PLC
>
西门子(Siemens)PLC
我要发帖
PRODAVE S7 大人请进!
点击:
1387
| 回复:
7
senda
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 4回
年度积分:0
历史总积分:7
注册:2004年7月30日
发表于:2004-07-30 09:35:00
楼主
连最简单的一个load_tool()都调用不起来,编译和连接都没错啊! 请大人指路! 以下是源码: #include<stdio.h> #include<windows.h> typedef struct { unsigned char adr; unsigned char segmenid; unsigned char slotno; unsigned char rackno; }adr_table_type; adr_table_type plc_adr_table[1] = { {2, 0, 0, 0} }; int state = 0; typedef int(*pload_tool)(int, char*, adr_table_type*); void main() { pload_tool load_tool; HINSTANCE hDll; hDll = LoadLibrary("w95_s7.dll"); load_tool = (pload_tool)GetProcAddress(hDll, "load_tool"); state = load_tool(1, "S7ONLINE", plc_adr_table); }
分享到:
收藏
邀请回答
回复楼主
举报
wincc123
关注
私信
精华:4帖
求助:0帖
帖子:41帖 | 765回
年度积分:1
历史总积分:1067
注册:2003年10月13日
发表于:2004-07-30 09:54:00
1楼
你这个是在哪里抄的吧?你的环境是VC++还是C++BUILDER? 它们的原文件入口也不VOID MAIN() 1:PRODAVE提供C的头文件和连接库,所以你的原文件中必须用 #INCLUDE"W95_S7.H"包含,同时这个头文件和.LIB文件需拷贝到你的工程目录下, 2:如果是VC或C++BUILDER,怎么还要声明一个句柄? 3:PLC_ADR_TABLE是指明将要连接的站地址和CPU所处槽号列表,2,0,2,0,当然这和编译连接没关系 4:加载库的方法不需这样,在C环境下有专门的菜单可一执行这个操作 5:PRODAVE提供的VC++库和C++BUILDE的库是不一样的,要注意编译环境
回复
引用
举报
senda
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 4回
年度积分:0
历史总积分:7
注册:2004年7月30日
发表于:2004-07-30 10:19:00
2楼
回大人: 这些代码是S7手册上的 我是WIN2000+VC6 我已将w95_s7.dll,w95_s7.lib 都放到DEBUG下了 需要将S7-300连上吗? 请大人进一步指路,在线等待!
回复
引用
举报
senda
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 4回
年度积分:0
历史总积分:7
注册:2004年7月30日
发表于:2004-07-30 14:43:00
3楼
强烈召唤ivyhvac, jch, wave61, fangmin (排名不分先后:)) 看了你们发的帖子,你们有成功初始化的经验,请帮小弟一把!
回复
引用
举报
wincc123
关注
私信
精华:4帖
求助:0帖
帖子:41帖 | 765回
年度积分:1
历史总积分:1067
注册:2003年10月13日
发表于:2004-07-31 12:22:00
4楼
不是要你将.DLL,.LIB放到DEBUG目录下,要在菜单下将文件加入工程 你要会用VC++,这一步你总该会走吧
回复
引用
举报
senda
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 4回
年度积分:0
历史总积分:7
注册:2004年7月30日
发表于:2004-08-01 11:07:00
5楼
是这样的 文档中提供了这样几个接口: C-Adapter int load_tool (int nr,char* device,char* adr_table); C-Adapter int unload_tool(void); ... 这些接口是在w95_s7.dll中的 通过 typedef int(*pload_tool)(int, char*, adr_table_type*); load_tool = (pload_tool)GetProcAddress(hDll, "load_tool"); 来取得接口地址 不太明白“要在菜单下将文件加入工程”这句话 请详细说明 不胜感谢!
回复
引用
举报
wincc123
关注
私信
精华:4帖
求助:0帖
帖子:41帖 | 765回
年度积分:1
历史总积分:1067
注册:2003年10月13日
发表于:2004-08-02 09:00:00
6楼
你先熟悉VC++再说
回复
引用
举报
senda
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 4回
年度积分:0
历史总积分:7
注册:2004年7月30日
发表于:2004-08-02 10:34:00
7楼
虽然我是新手 但你也不能这么打击我吧:) 我把它生成了一个EXE文件 还是不行啊! 程序的运行是这样的: 可以通过编译连接 但运行一段时间就报错了
回复
引用
举报
热门招聘
相关主题
工控老鬼 图解西门子S7-300系...
[7616]
电气图纸用什么软件画最好
[14659]
PID温度控制的PLC程序设计
[15938]
三菱PLC视频教程 PLC学习难点...
[12372]
三菱plc位,字节,字,双字存储...
[11749]
一个点动开关控制一个电灯常...
[14597]
PNP接近开关与FX2N PLC怎么接...
[11465]
西门子200/200SMART催缴尾款...
[11733]
(已结束)工控PLC擂台第16期-...
[14598]
没有三相电怎么调试三相变频...
[10713]
官方公众号
智造工程师
客服
小程序
公众号