Hello again everybody
After discussing the issue converting floating point regs into double integer with AB, the answer is "Are you willing to pay for our engineers in the States to build a series of instructions that will do the job?" I must say, I'm not.
So the sollution to the problem is not to use the SLC, but Micrologix, which work with long integers.
After checking out the Micrologix, I learned that it is not possible to convert large numbers from floating point to long integers, as the floating point register is a rounded value. The floating point register is calculating large numbers into the numbers of the power of 2 to a one digit number followed by 6 decimals, i.e. 1.234568+E008.
Using the MOV instruction, converting a long integer value of 123456789 to floating point will return a value of 1.234568+E008. But so will all values from 123456748 - 1234567852. As is when the reverse action is performed.
Converting from Long integer to floating point and back will create the situation that the numbers from 12345648 to 123456756 all results in the same value of 123456752 in the distination long integer. As the source number increases the result value differs even more.
!!! When the source number reaches 2147483584 the result gets negative (-2147483648) and stays this value until maximum is reached in the source reg (2147483647).
If I where to use it to some positioning, well I wouldn't think of the consequences.
Thank you all very much - the problem seems solved - use another CPU.