SIMOTION ST语言请教 点击:4824 | 回复:10



夏平

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:21帖 | 36回
  • 年度积分:2
  • 历史总积分:54
  • 注册:2004年5月24日
发表于:2009-04-02 12:28:42
楼主
我了解一点西门子SCL语言,但是对ST语言掌握不够,有几个问题希望大家赐教:

1、 如何使用计数器、脉冲指令。我在command library中也找到这些指令,但将他们拖拽过来,赋值后编译无法通过。是不是在程序前要声明之类的。

2、 使用command library中Technology里面伺服指令时也不会用,就做了一个使能轴命令,定义好相关参数,将轴名称拽过来,也无法编译。

3、 我想对轴位置在ST中进行比较判断时,拽过来的轴变量也无法编译通过,比如我做程序:

IF axis_virtual.positioningstate.actualposition=0 THEN

Temp_output:=0;

END_IF;

Temp_output我已经定义好了,但在编译时,告诉我轴变量错误,消息显示

ST_1 10014:Already specified technology packages do not support the type of TO “axis_virtual”

ST_1 (90): 6003: Variable ID expected axis_virtual

请大家指点或者针对这几个指令,写个例子供参考,写ixe。



realliang

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:55
  • 注册:2009年2月03日
发表于:2009-05-22 09:43:47
1楼

1:这些指令通常都是以FB的形式出现的,使用前需要声明相应的FB,例如使用上升沿检测模块:

VAR_GLOBAL   

g_FB_Edge_Det : R_TRIG;

END_VAR;

 

IMPLEMENTATION

g_FB_Edge_Det (CLK:=g_signal_in);//g_signal_in这个是被检测信号,需要声明或者定义成I/O类型

if g_FB_Edge_Det.Q=1 THEN

.....//添加上升沿时运行的程序

END_IF;

2:使能轴的命令

g_i32ReDint:= //g_i32ReDint需要事先声明成DINT类型的变量
_enableaxis(
axis:= axis_Speed, //这个是SCOUT中轴的名称
enablemode:=ALL,
servocontrolmode:=ACTIVE,
servocommandtoactualmode:=INACTIVE,
nextcommand:=IMMEDIATELY,
commandid:=_getcommandid(), //这个很重要,需要写成_getcommandid()由系统为这个命令分配一个命令ID
forcecontrolmode:=INACTIVE,
stwbitset:=0,
movingmode:=DO_NOT_CHANGE
);

3:可能是axis_virtual轴没有配置成Position类型的,如果需要读取轴的位置,需要在建立轴的时候钩选位置轴的选项。

不懂工控

  • 精华:0帖
  • 求助:0帖
  • 帖子:32帖 | 647回
  • 年度积分:0
  • 历史总积分:583
  • 注册:2004年9月23日
发表于:2010-02-04 02:09:27
2楼
simotion很少人用,楼主解决了吗

kangwei123

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 11回
  • 年度积分:0
  • 历史总积分:18
  • 注册:2009年1月12日
发表于:2010-07-22 14:17:40
3楼

请问各位,simotion st 编程实例哪里能找到,非常感谢。。。。

sampam

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:14
  • 注册:2006年11月14日
发表于:2010-10-12 16:07:46
4楼

INTERFACE
USEPACKAGE cam;

END_INTERFACE

如上加入USEPACKAGE cam即行。

安然无恙

  • 精华:0帖
  • 求助:1帖
  • 帖子:10帖 | 125回
  • 年度积分:0
  • 历史总积分:184
  • 注册:2004年12月16日
发表于:2011-04-07 23:09:19
5楼
好像是哪么一回事吧,

沉默无罪

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 62回
  • 年度积分:0
  • 历史总积分:295
  • 注册:2007年12月26日
发表于:2011-05-16 14:55:25
6楼
SAMPAM是对的 加上肯定就OK了

canapack

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 12回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2011-07-13 11:19:18
7楼
simotion st 编程实例哪里能找到???

chun1989

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 1151回
  • 年度积分:23
  • 历史总积分:1077
  • 注册:2012年11月20日
发表于:2023-06-20 17:03:23
8楼

论坛上都是大神,我ST都不懂,感觉很难

SHU1425

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:63
  • 历史总积分:83
  • 注册:2022年4月02日
发表于:2023-07-26 11:11:35
9楼

根据你提供的错误信息,看起来是由于"axis_virtual"这个变量没有正确定义或声明而导致的错误。错误信息中提到已经指定的技术包不支持"axis_virtual"这种类型的TO(目标对象)。

要解决这个问题,你可以尝试以下几个步骤:

  1. 确保"axis_virtual"变量已经正确定义并且在当前代码范围内可见。如果你是在使用第三方库或框架,确认你已经正确导入并使用了相应的技术包。

  2. 检查你是否正确地使用了"axis_virtual"变量。确保正确拼写和大小写,以及在使用之前是否已经声明或初始化了该变量。

  3. 如果你使用的是特定的技术包或库,检查其文档或示例代码,查看是否有关于如何正确使用"axis_virtual"变量的指导。

如果你仍然遇到困难,建议提供更多的上下文信息,例如你正在使用的编程语言、上下文代码的其他部分等,这样可以更具体地帮助你解决问题。


芒果小平子

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1003回
  • 年度积分:284
  • 历史总积分:983
  • 注册:2016年11月24日
发表于:2023-11-21 08:23:28
10楼

不错的资料,感谢分享!


热门招聘
相关主题

官方公众号

智造工程师