Jump to content

Recommended Posts

Posted (edited)
Hi, I am working through a project using the 90-30 GE 366 combined CPU and Profibus module. I want to access the advanced diagnostics but all i can achieve is the basic set. If i set up a COMMREQ in the ladder the 'FT' output fails every scan and there does not seem to be anything written to the mamory range i set for the COMMREQ and all i get is the memory data as set up in the hardware configuration. Trying to talk to a Siemens ET200m. The comms works and everthing is good except i cannot dig below the base level and i want to get module data on the remote. any help will be most apreciated. RobC Edited by Windmill

Posted (edited)
I can't claim any particular expertise with Profibus, but if you post the data you set up the COMREQ instruction with, I'll take a look at it to see if I can spot anything that looks suspect. Edited by Steve Bailey
Posted
Thanks Steve. The command block structure is as follows Command structure for COMMREQ block Initial Block setup (first scan) Generic Config M Type Address Value Comment %R 8150 6 Number of Words read in %R 8151 1 Wait/No Wait flag %R 8152 8 Status Pointer Memory Type (%R) %R 8153 6 Memory Offset from Reference Address %R 8154 100 Wait timeout 10 ms %R 8155 200 Comms Timeout 20 ms %R 8156 Start of COMMREQ data block %R 8157 End of COMMREQ data block Task Command Block setup Task #1 Get Slave Status M Type Address Value Comments %R 8070 11 Data Block length %R 8071 0 Always 0, No Wait %R 8072 8 Memory type %R %R 8073 8169 Status Word Address (-1) %R 8074 Reserved %R 8075 Reserved %R 8076 1 Task Number %R 8077 8 Response Memory Type %R %R 8078 8051 Start of response memory (+1) %R 8079 6 Max response data block size %R 8080 TBA Slave Number assigned in code (1-4) The task block adress range starts at the end of the command block Kind regards, RobC
Posted
For your "Get Slave Status" COMREQ: Your first parameter, "Data Block Length" should be 5 words, not 11. This parameter is the length of the command block. The command block is the actual command sent out over the Profibus network. The first six words are necessary for the CPU to compose the comand message, but are not part of the command. Your fourth parameter "Status Word Address": The value 8169 points to register %R8170, which is the first word of the COMREQ instruction block. It probably doesn't hurt anything to leave it as is. Your ninth parameter "Start of Response Memory": The value 8051 points to register %R8052. Assuming that the registers starting at that address are not used for anything else, this is probably OK. Your tenth parameter "Max Response Data Block Size": The example in the manual (GFK-2334a) gives this value as 9, but I expect that the length is determined by the specific slave that you're requesting data from. I think your problem is in the "Data Block Length" parameter. When the FT output of the COMREQ block is true, the data in the status word can be used to diagnose the problem. I'm assuming you used a one-shot contact to execute the COMREQ. Do you use the same one-shot to control the BLOCK MOVE instruction that sets up the COMREQ? If so, the value in %R8070 will be a code for the nature of the fault. Hope this helps.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...