Hello guys!
I have a strange problem when I'm using SFC15 in a siemens S7318 cpu.
It worked fine for about a week ago and suddenly after I downloaded a program on friday it started giving me an errormessage (return code 8090hex).
The helpfile says this about the error:
I have checked the hardware config and this is still the same as it was while it was working and I'm using the same address for both sfc14 and sfc15 (sfc14 is working) so I know that the address is correct. The length of the consistent area is 2 bytes in the hardware setup and 2 bytes in my function call. shouldn't be any problem there.
The start address is given in hex 110 so that should not be the reason either. I just don't get it, it worked fine then it suddenly stopped working.
This is my program call:
I'm using SCF14 (read) from the same IO address without any problems, it's just the write that doesn't work.
The IO address corresponds to the hardware setup (110hex), the Controlword is 2 bytes.
If I write this using PQW directly then it works, but I don't want to hardcode the address, since this is inside a function which is used for different units. (it doesn't work on either of the units).
My other solution is building a pointer based on the io address used in the sfc14 call and then using pqw but I prefer figuring out why it doesn't work.
Anybody in here have any ideas?
I have a strange problem when I'm using SFC15 in a siemens S7318 cpu.
It worked fine for about a week ago and suddenly after I downloaded a program on friday it started giving me an errormessage (return code 8090hex).
The helpfile says this about the error:
8090:
· You have not configured a module for the specified logical base address or
· you have ignored the restriction concerning the length of consistent data or
· you have not entered the start address in the LADDR parameter in hexadecimal format.
I have checked the hardware config and this is still the same as it was while it was working and I'm using the same address for both sfc14 and sfc15 (sfc14 is working) so I know that the address is correct. The length of the consistent area is 2 bytes in the hardware setup and 2 bytes in my function call. shouldn't be any problem there.
The start address is given in hex 110 so that should not be the reason either. I just don't get it, it worked fine then it suddenly stopped working.
This is my program call:
CALL "DPWR_DAT"
LADDR :=#AmpIOAddr
RECORD :=#ControlWord
RET_VAL:=#ForceAmpData.Amplifier.RetVal.RV_SFC15
NOP 0
I'm using SCF14 (read) from the same IO address without any problems, it's just the write that doesn't work.
The IO address corresponds to the hardware setup (110hex), the Controlword is 2 bytes.
If I write this using PQW directly then it works, but I don't want to hardcode the address, since this is inside a function which is used for different units. (it doesn't work on either of the units).
My other solution is building a pointer based on the io address used in the sfc14 call and then using pqw but I prefer figuring out why it doesn't work.
Anybody in here have any ideas?