Member Login
Search
Jump to a Date
Sponsored Communities
Cool stuff
Neat Stuff

Visit our shop for nerds in control lifestyle products.
Thermal Overload
The threads that wouldn't die...
- PC reliability?
- Windows, real time
- PID loops
- PCs vs. PLCs
- Replacing people
- MS 'monopoly'?
- Software quality
- Where do we go from here?
- Why pay?
- PC reliability?
- Windows, real time
- PID loops
- PCs vs. PLCs
- Replacing people
- MS 'monopoly'?
- Software quality
- Where do we go from here?
- Why pay?
Fortune
Minnie Mouse is a slow maze learner.
RSS Feed
www.control.com/rss/
To get a personalized feed, become a member at no cost.
Dear Forum,
I just assigned a task to convert Simatic TI-505 which based on Simatic APT programming tools to Allen-Bradley Controllogix.
Currently, I found difficulties to translate structure text programming on Simatic APT CFC to Controllogic ladder. I would like to ask you, the simatic APT experts on this forum, what is the meaning of following instruction :
if (SS_S430=E.FAILED_SS or SS_S430=E.HELD_SS) and not(CYC_INT)
then CMD_S430.status:= CMD_S430.status or d.RESTART ;
endif;
CMD_S430 is declared as Integer with PCS tags attribute is marked
and d is recipe and referred to DISPLAY recipe template which one of it's element named RESTART.
In controllogix system, Integer variable doesn't have attribute or element like USER DEFINED DATA TYPES and as long as I know, in Simatic APT programming, variable declared as Integer doesn't have element like recipe.
Thanks in advance
Regards
Aan
I just assigned a task to convert Simatic TI-505 which based on Simatic APT programming tools to Allen-Bradley Controllogix.
Currently, I found difficulties to translate structure text programming on Simatic APT CFC to Controllogic ladder. I would like to ask you, the simatic APT experts on this forum, what is the meaning of following instruction :
if (SS_S430=E.FAILED_SS or SS_S430=E.HELD_SS) and not(CYC_INT)
then CMD_S430.status:= CMD_S430.status or d.RESTART ;
endif;
CMD_S430 is declared as Integer with PCS tags attribute is marked
and d is recipe and referred to DISPLAY recipe template which one of it's element named RESTART.
In controllogix system, Integer variable doesn't have attribute or element like USER DEFINED DATA TYPES and as long as I know, in Simatic APT programming, variable declared as Integer doesn't have element like recipe.
Thanks in advance
Regards
Aan
> if (SS_S430=E.FAILED_SS or SS_S430=E.HELD_SS) and not(CYC_INT)
> then CMD_S430.status:= CMD_S430.status or d.RESTART ;
> endif;
It's a common programming technique when you want to use symbolic constants instead of numeric constants. You can do the same in ControlLogix by settings constants in UDDT instances. These 3 APT lines can be translated into a single ladder rung. Use 2 EQU boxes in series with a contact and then a bitset. (I suppose that d.RESTART is a
single bit in a word (i.e. a power of 2)). If you prefer to use the Structured Text (ST) language, use the APT statement as-is.
> then CMD_S430.status:= CMD_S430.status or d.RESTART ;
> endif;
It's a common programming technique when you want to use symbolic constants instead of numeric constants. You can do the same in ControlLogix by settings constants in UDDT instances. These 3 APT lines can be translated into a single ladder rung. Use 2 EQU boxes in series with a contact and then a bitset. (I suppose that d.RESTART is a
single bit in a word (i.e. a power of 2)). If you prefer to use the Structured Text (ST) language, use the APT statement as-is.
Dear Forum,
Thanks for your response Gilles.
Actually what I can't understand is: variable CMD_S430 is integer type
variable, please see imported declaration reports for CMD_S430 variable below:
as a integer type variable, CMD_S430 should have no element inside it, so how can CMD_S430 have an element called "status"?
If we compare with variable "d", "d" is a structured variable with many elements and one of them is RESTART, so we can write d.RESTART to refer "RESTART" element of variable "d". Please see APT report for mentioned variable.
Thanks for your response Gilles.
Actually what I can't understand is: variable CMD_S430 is integer type
variable, please see imported declaration reports for CMD_S430 variable below:
---------------------------------------------------------------------- ------
Name: CMD_S430 Type: I Integer
*
Description: command of dry cyclone
S430
Constant: [
]
Value:
0
Eng.
Units:
Create unique status?:
[X]
PLC Address:
Automatic
----------------------------------------- -----------------------------------
as a integer type variable, CMD_S430 should have no element inside it, so how can CMD_S430 have an element called "status"?
If we compare with variable "d", "d" is a structured variable with many elements and one of them is RESTART, so we can write d.RESTART to refer "RESTART" element of variable "d". Please see APT report for mentioned variable.
------------------------------------------------ ----------------------------
Name: D Template: DISPLAY
Description:
Constant: [ ]
Data Structure Only: [ ]
Scale Factor: 1.0
Scale Low: 0.0
Scale High: 100.0
Create Unique Scale Factor: [ ]
Create Unique Hold Request: [ ]
Create Unique PLC Request: [ ]
PLC Address: Automatic
---------------------------------------------------------------------- ------
VALUE ENG.UNITS ELEMENT NAME DESCRIPTION
TYPE
0 NONE
I
16384 STOP
I
8192 PREPARE
I
4096 START
I
2048 HOLD
I
1024 RESTART
I
512 ABORT
I
256 RESET
I
128 RECIRC
I
64 FRECIRC
I
32 SPRAY
I
---------------------------------------------------------------------- ------
APT is object-oriented. Every data item (even a simple boolean) has a .status attribute. In basic application, the .status is an alias for the value. But if you select the "Create unique status" option, APT will create a supplementary integer to contain the status attribute. To my knowledge, that unique status has only been used by TISTAR (later renamed to PCS), a multi-user DCS (sort-of).
The purpose of setting a bit in the status attribute depends on the Tistar application. Only the 3 least significant bits have standard meanings. D.restart is bit 6 so the purpose is application related. It may be for screen animation or to communicate custom information to a batching program running in Tistar.
The purpose of setting a bit in the status attribute depends on the Tistar application. Only the 3 least significant bits have standard meanings. D.restart is bit 6 so the purpose is application related. It may be for screen animation or to communicate custom information to a batching program running in Tistar.
From Control Engineering magazine...
Related articles from Control
Engineering magazine- Automation pioneer Nels Tyring dies at 77, coined term: control system integrator
- Ethernet Direct offers industrial IP66 cameras with Power over Ethernet
- Budget-friendly temperature control unit
- Upgrading control for better polymer performance
- Software pinpoints process interactions
- BP selects SIS for UK deployment
- Here's what you need to know about controls, says Automation Federation, U.S. government
- Electrical product safety: Are testing labs needed or is a supplier's declaration enough?
Above articles copyright 2009 Reed Business Information.
Subject to its Terms of Use.
Your use of this site is subject to the terms and conditions set forth under Legal Notices and the Privacy Policy. Please read those terms and conditions carefully. Subject to the rights expressly reserved to others under Legal Notices, the content of this site and the compilation thereof is © 1999-2009 Control Technology Corporation. All rights reserved.
Our Advertisers
Help keep our servers running...
Patronize our advertisers!
Patronize our advertisers!




