SFC14报8090错误

已锁定

瑞士军刀1893

  • 帖子

    109
  • 精华

    0
  • 被关注

    5

论坛等级:侠客

注册时间:2010-08-17

普通 普通 如何晋级?

SFC14报8090错误

1468

0

2014-11-09 20:15:48

TYPE "_ANY_Pointer"
STRUCT //10 Byte ANY Pointer e.g. P#DBxx.DBx0.0 Byte 10
Syntax_ID: BYTE; //Always 10 Hex
DataType: BYTE; //Code for data type
Count: WORD; //Number of Byte
DB_Number: WORD; //Number of DB
Byte_Pointer: DWORD; //Pointer to bit- and byte address
END_STRUCT
END_TYPE
TYPE "_ET200S_1STEP"
STRUCT
STATUS :STRUCT
STS_RESI_POS : DWORD ; // Residual distance (bits 19 to 0)
STS_ZSW : STRUCT
X4_0 : BOOL; // Job transfer currently running STS_JOB
X4_1 : BOOL; // Error during job transfer ERR_JOB
X4_2 : BOOL; // Position reached POS_RCD
X4_3 : BOOL; // Residual value < 0 DIS_NEG
X4_4 : BOOL; // Reference point determines SYNC
X4_5 : BOOL; // Parameter assignment error ERR_PARA
X4_6 : BOOL; // Reserve = 0
X4_7 : BOOL; // Short circuit of the ERR_24V sensor supply
X5_0 : BOOL; // Status pulse enable active STS_DRV_EN
X5_1 : BOOL; // Status reference input STS_REF
X5_2 : BOOL; // Status DI STS_DI
X5_3 : BOOL; // Cause of STOP: Reference cam STOP_REF
X5_4 : BOOL; // Cause of STOP: External STOP STOP_EXT
X5_5 : BOOL; // Cause of STOP: Limit switch STOP_LIMIT_M
X5_6 : BOOL; // Cause of STOP: Limit switch STOP_LIMIT_P
X5_7 : BOOL; // Positioning in operation POS
END_STRUCT;
STS_6 : BYTE; // Reserve = 0
STS_7 : BYTE; // Reserve = 0
END_STRUCT;
CONTROL : STRUCT
STS_0 : BYTE; // Multiplier G; Fa = Fb * R * G (value range 1 to 255)
STS_1 : BYTE; // Distance (bit 19 to bit 16)
STS_2 : BYTE; // Distance (bit 15 to bit 8)
STS_3 : BYTE; // Distance (bit 7 to bit 0) (Value range for bytes 1 to 3 is 1 to 1 048 575)
STS_STW : STRUCT
X4_0 : BOOL; // Mode: 0 = Incremental run mode / 1 = Search for reference mode
X4_1 : BOOL; // Mode = 0
X4_2 : BOOL; // Mode = 0
X4_3 : BOOL; // Mode = 0
X4_4 : BOOL; // Forward start DIR_P
X4_5 : BOOL; // Backward start DIR_M
X4_6 : BOOL; // STOP
X4_7 : BOOL; // Reduction factor R
X5_0 : BOOL; // Limit switch in backward direction LIMIT_M
X5_1 : BOOL; // Limit switch in forward direction LIMIT_P
X5_2 : BOOL; // Pulse enable DRV_EN
X5_3 : BOOL; // Stop at the reference cam STOP_REF_EN
X5_4 : BOOL; // Reserve = 0
X5_5 : BOOL; // Reserve = 0
X5_6 : BOOL; // Parameter assignment job change parameter C_PAR
X5_7 : BOOL; // Diagnostic error acknowledgment - EXTF_ACK
END_STRUCT;
STS_6 : BYTE; // Reserve = 0
STS_7 : BYTE; // Reserve = 0
END_STRUCT;
END_STRUCT
END_TYPE
FUNCTION_BLOCK "_1STEP_SINAMICSV90"

TITLE = 'Block Title'
//
// Block Comment...
//
VERSION: '1.0'
AUTHOR: Author
NAME: Name
FAMILY: Family

// Block Parameters
VAR_INPUT
IO_Address : INT;
DB_Nummer : INT;
END_VAR

VAR_IN_OUT
// I/O Parameters
END_VAR

VAR_OUTPUT
// Output Parameters

END_VAR
CONST
byte_length := 8;
END_CONST
VAR_TEMP
bufferParameter : "_ANY_Pointer";
temp_buffer AT bufferParameter: ANY;
V90_Address : WORD;

END_VAR
VAR
servoData : "_ET200S_1STEP";
ret_val_RD : INT;
ret_val_WR : INT;
END_VAR
BEGIN
V90_Address := INT_TO_WORD (IO_Address);
bufferParameter.Syntax_ID:= B#16#10; //Length of buffer
bufferParameter.DataType:= 2; //Code for data type BYTE
bufferParameter.Count:= INT_TO_WORD(byte_length); //Number of used data (byte)
bufferParameter.DB_Number:= INT_TO_WORD(DB_Nummer); //Number of destination DB for your data
bufferParameter.Byte_Pointer:= DW#16#8400_0000; //Zero pointer on global data DBX0.0 (over several areas)

ret_val_RD := DPRD_DAT(LADDR:= V90_Address, RECORD:= temp_buffer);
ret_val_WR := DPRD_DAT(LADDR:= V90_Address, RECORD:= temp_buffer);
// Statement Section
;
END_FUNCTION_BLOCK
用ET200S的1TEP模块控制SINAMICS V90,照例程编写,为什么在仿真时,刚开始 还好好地,把"_ET200S_1STEP"修改后,仿真就-32624,即W#16#8090,现在贴图的完全照例程重新写了一遍,报错照旧,如等到现场调试再求救大侠就没时间,高手帮我看看,我哪里出错了。
SFC14报8090错误 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54620条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。