I have a TI555 with TISoft 6.1. How Sweet It Is!
Just yesterday, at work, I was exploring the possibilitity of upgrading from TISoft 6.1 to 7.1
I recently designed some code for a "Speed-Trap" and "Off-Set Positioning". I used a mSec Timer in the Speed-Trap and another mSec timer in the Off-Set Positioner. All went well until I was reminded that there is this one very special case where the speed is veeeeeery low. In that case, the Index time far exceeds 32000-mSec.
Not a problem... I use "Bump-'n-Roll" when the timer expires. I log the fact that the timer timed-out ("Bump") and then Reset the timer ("Roll") using the appropriate "Current Value" (actually, because of timing issues, it is a little more complicated than that). Internally, not a problem. Anyway, the process was ulimately working with "differences", not explicit values.
So, anyway... in the course of going through all of this, I explored some algorithms that involved adding and/or subtracting Long Numbers.
Darn... aw, Heck...
TISoft 6.1 does not allow for direct addition, subtraction, multiplication or division of Long/Long Numbers (as in, Long/Long = Long).
However, those operations can be developed through data-manipulations (great case for a Sub-Routine).
All of the Long Numbers can be handled in the program.
OUCH! Another Gotcha! My HMI (CVU, Control Vision Unit) does not like Long Numbers!
Oh, Dear Me! What to do???
I could break-up the Long Numbers and display them as partial values... (36,485 = 36-Thousands, 4-Hundreds, 8-Tens and 5-Ones)...
That makes for a lot of extra code...
AH-HA! The CVU can handle REAL Numbers! So... how to convert my Long Number into a Real Number? Again, TISoft 6.1 doesn't provide for this. hmmmm.....
I could "Roll-My-Own" Real Number! That would mean going through the pains of manually converting the Long Number to a Real Number by determining the Radix, Mantissa and Exponent and then assembling the Real Number... Another great case for a Sub-Routine. Is there any other way?
TISoft Special Function Programs can work with Real Numbers! In fact, where necessary, they take Integers as Input parameters, convert them to REAL, do the specified operation, and then save the result in the specified form: Integer or Real.
Bummer... The Special Function Program can read-in Integers or Reals... not Long's! After a call to Johnson City, Tenn., (Siemens FREE Technical Support - and Great support, I might add) I found out that they were aware of that issue and had incorporated a solution into TISoft 7.1. GREAT! I just happened to have that upgrade sitting in my drawer! (I wondered why I didn't install it when I got it... over a year ago?)
Back then, I was looking to incorporate PROFIBUS into the system. The plan was to have "satellite" S7-PLC's operating and controlling various sub-sections of the over-all process - thus relieving the 555 of many duties. The code for the particular sub-sections would be moved to the satellites. The satellites would then handle their particular duties, respond to "commands" from the 555, and then make "reports" to the 555.
The whole idea was to speed-up local response time at the satallite stations, and off-load a lot of code from the 555, thus making more ladder memory available in the 555 for new-stuff.
So... Why didn't that happen?
The 555 I have is an -1103 version. This version does not include the Math Co-Processor! From what I remember, the -1103 could be made to handle PROFIBUS but the performance would be considerably less than could be provided by the -1105, which does have the Math Co-Processor. There were, as I remember, a lot of hoops to jump through to make the -1103 work. Including installing TISoft 7.1 (7.1 handles PROFIBUS better than 6.1).
I decided to wait until I had an -1105. In the meantime, I ordered TISoft 7.1. It's been sitting in my drawer ever since. Since then, I've acquired an -1105. It's sitting in the box.
LONG NUMBERS
So, TISoft 7.1 will provide the Long to Real conversion that I'm looking for... but only if an -1105 is installed. So now, at the first opportunity, I'll install the -1105.
Anyone looking for a perfectly good 555-1103?
TISoft 7.1 provides some interesting new features. The one that is most interesting to me is that you can write a Special Function Program which is capable of doing Real-Math, call for that Special Function on a rung of code in the same way that you would call a sub-routine, and then, have the result available immediately for the next element in the rung! The Special Function Program is executed through compiled code (machine code - VERY FAST, Up to 1000 times FASTER than LADDER!) - not an interpreter - and not through time-slicing (as would be the case in normal, queued Special Function Routines).
That's REAL Results in REAL Time (relatively speaking).
What this means is... all (or at least, the more complicated sections) of Ladder Math (Integer Math) can be re-written as REAL MATH in Special Functions and executed hundreds of times faster!
Now, That's Entertainment!