Siemens SCL to AB RS5000

baz999

Member
Join Date
Jan 2021
Location
east anglia
Posts
6
Hi All,
I need to try and convert some code from Siemens SCL (TIA16) over to Allen Bradley RS5000.


I have attached an image of the SCL and what I have tried to do in RS5000.


Im getting an error: Rung xx,MOV, Operand 1: Invalid date type. Argument must match parameter data type.


so guess I have an issue with the destination being a Bool?


many thanks


Baz

TIA16_SCL_flag_reset.JPG Move.JPG
 
Yes, OTU, visually -(U)-, is unlatch a.k.a. reset; that is one of the typical ways to assign a 0 to a single bit in AB RS5000.

MOV is definitely not a way to write to a single bit.
 
Thanks drbitboy, I've also just come across structure text which looks similar to the Siemens SCL, but think you way would be visually easier to see/fault find later.
Many thanks for your help.
Baz
 
Yes, OTU, visually -(U)-, is unlatch a.k.a. reset; that is one of the typical ways to assign a 0 to a single bit in AB RS5000.

MOV is definitely not a way to write to a single bit.
Does Logix have an invert write instruction nowadays?
--(/)--


I think this or a
--[NOT]--( )-

would be preferable, due to the varied behavior of the OTL/OTU instructions. (Though I could be remembering their behavior as more complicated than it truly is.)
 
It would of made much more sense to declare F106 as a INT & reference the same corresponding bits.
Then you could just MOV #0 F106 OR CLR F106 when the flags are required to be reset.
This is of course assuming all the bits in F106/107 are used for manual controls..

Some might chime in say a DINT data type
Would be better for CLX conversion.. ��
 
...declare F106 as a INT...


I thought of that, but not all the bits were being addressed, so I figured the few OTUs were quicker to implement than explaining an MVM.

Also, at this point, the rest program has already been ported to ladder, so changing to BOOLs to the bits in an INT or DINT might take a significant refactoring effort.

But yeah, going in at the start this would have been a better solution for this part.
 
Thanks for all your support (I've been off with COVID for a few days so not been looking at).
Original program was an old S5 approx 40yrs old, someone had started to convert to TIA16 but then left, now I've been asked to convert the TIA16, to Allen Bradley. I've read up on some of the ST commands and am thinking of just listing them all like: F106.0 := 0;
Regards
 

Similar Topics

Hello, When you want compare values of an array to a range of numbers is it a right way to do that? FUNCTION ADD VAR_IN_OUT A:ARRAY[1..50]...
Replies
5
Views
2,067
in the scl code written in screenshot Line 1 condition is false but still the program checking the line 2 condition and says it is true i had...
Replies
3
Views
1,753
I am new to PLC programming. Is there a standard way to incorporate alarms / warnings / events such as the exceptions in C++ or Java where you can...
Replies
5
Views
1,966
Hello All, I am new to programming with Tia Portal and I am having difficulty with something that we have found "easy" in other programming...
Replies
3
Views
2,376
Could someone help me to convert following from STL to SCL? AN #PV_EXT_S JC MEAS L #PV_EXT L 1.000000e+000...
Replies
9
Views
2,710
Back
Top Bottom