Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ECAT error reporting
#1
if(ECAT[0].MasterState==2&&ECAT[0].Slave[0].Online==1&&ECAT[0].Slave[1].Online==1)
{
cmd "ECAT[0].Enable=1"
}

When I enable PLC, ECAT can be used normally;
In the output bar of IDE software, there is a warning prompt {stdin:44314:1:error #20 :ILLEGAL CMD :ECAT[0].10).}.
If I type {ECAT reset} at the prompt, the warning still appears. my device is already in use. This warning has not appeared before.


I want to know what caused this warning? How to eliminate the warning?
Reply
#2
If you double click on the error message does it take you to the line in your comment? I would expect the " to be in the error message if that's the same } from the line of code.
Reply
#3
Quote:If I type {ECAT reset} at the prompt, the warning still appears. my device is already in use. This warning has not appeared before.
I'm confused here. I'm not sure what prompt you are refering to or why {ECAT reset} would be entered. You are getting an error on download, right?
Reply
#4
Most likely, you have a variable named "Enable", possibly something to the effect of "#define Enable 10" in your project. When you try to download the project, the IDE replaces the string "Enable" with the number "10", and so "ECAT[0].Enable" becomes "ECAT[0].10".

Please check your variable declarations and/or #define statements, and consider using more specific/less generic names ("Enable_ON" or "EnableStatus", for instance).



EDIT: After looking at Eric's comments, I realized that "Enable" might not be the keyword you have as a variable. If you double click the warning, it should take you to the line in which it occurs--look for a string of text like "ECAT[0].<something>" on that line, and check if that <something> might be a variable you have declared somewhere, possibly as a #define.
Reply
#5
(05-07-2020, 02:52 PM)Eric Hotchkiss Wrote:
Quote:If I type {ECAT reset} at the prompt, the warning still appears. my device is already in use. This warning has not appeared before.
I'm confused here. I'm not sure what prompt you are refering to or why {ECAT reset} would be entered. You are getting an error on download, right?

Eric, thanks for your reply

My equipment works well. Only when ECAT [0]. Enable = 1, the warning "stdin:44314:1:error #20 :ILLEGAL CMD :ECAT[0].10). " will appear.
The IDE prompts for "ECAT reset" to eliminate the warning.
ECAT [0]. 10) is not a variable in my program.
Enter $$$***,This problem has been solved
Reply
#6
(05-07-2020, 03:28 PM)AAnikstein Wrote: Most likely, you have a variable named "Enable", possibly something to the effect of "#define Enable 10" in your project. When you try to download the project, the IDE replaces the string "Enable" with the number "10", and so "ECAT[0].Enable" becomes "ECAT[0].10".

Please check your variable declarations and/or #define statements, and consider using more specific/less generic names ("Enable_ON" or "EnableStatus", for instance).



EDIT: After looking at Eric's comments, I realized that "Enable" might not be the keyword you have as a variable. If you double click the warning, it should take you to the line in which it occurs--look for a string of text like "ECAT[0].<something>" on that line, and check if that <something> might be a variable you have declared somewhere, possibly as a #define.
Thanks.
Terminal input $$$***and save. In the project, scan ECAT again and the warning disappears
Reply
#7
(05-07-2020, 02:52 PM)Eric Hotchkiss Wrote:
Quote:If I type {ECAT reset} at the prompt, the warning still appears. my device is already in use. This warning has not appeared before.
I'm confused here. I'm not sure what prompt you are refering to or why {ECAT reset} would be entered. You are getting an error on download, right?
When power PMAC is restarted, ECAT [0]. Masterstate = 0. My device cannot operate normally. How can I make ECAT [0]. Masterstate = 2? I've been confused about the reason why ECAT network can't be used.
Reply
#8
What do you do to fix it? If you have slaves plugged in at boot (and there's no crash/errors), I would expect it will come up with ECAT[i].MasterState = 2. Issuing "ecat reset" should fix it if it starts up at 0, but that command is (effectively) already issued at boot, so you should not need to issue it manually after restarting.
Reply
#9
(05-08-2020, 09:50 AM)AAnikstein Wrote: What do you do to fix it? If you have slaves plugged in at boot (and there's no crash/errors), I would expect it will come up with ECAT[i].MasterState = 2. Issuing "ecat reset" should fix it if it starts up at 0, but that command is (effectively) already issued at boot, so you should not need to issue it manually after restarting.
Aanikstein, you're right. That's what I do. Sometimes when PMAC is powered on, there will be problems ECAT [0]. Masterstate = 0. Therefore, I wrote PLC program to avoid such problems. When ECAT [0]. Masterstate = 0,enter CMD "ecat reset" until ECAT [0]. Masterstate = 2; However, there are new problems and sometimes there are crashes. You must enter "$$$***".
The latest version of IDE (4.3.2.19), update the description, and prompt that the problem has been fixed. I found that the problem still exists.

(10. Fixed issue where continual transmission of ecat reset commands would cause Power PMAC to stop operation (issue only present in V2.3.2.5 and older)

Of course,Power PMAC works normally as long as it is not shut down and is rebooting.It's not a fatal problem, but it's really confusing me
Reply
#10
When ECAT [0]. Masterstate has a value of 0 or 15 that indicates the device has been disconnected. Sometimes the drive will go into a disconnected state when attempting to enable EtherCAT. I believe these means there is some error that is affecting the drive. This error could be entirely on the drive or it could be communication between PMAC and the drive.

Are any errors displayed by the drive. Does PMAC's servo/ecat period match the period chosen in EtherCAT network setup?

Quote:(10. Fixed issue where continual transmission of ecat reset commands would cause Power PMAC to stop operation (issue only present in V2.3.2.5 and older)
I believe this was a different issue.
Reply
#11
(05-11-2020, 10:02 AM)Eric Hotchkiss Wrote: When ECAT [0]. Masterstate has a value of 0 or 15 that indicates the device has been disconnected. Sometimes the drive will go into a disconnected state when attempting to enable EtherCAT. I believe these means there is some error that is affecting the drive. This error could be entirely on the drive or it could be communication between PMAC and the drive.

Are any errors displayed by the drive. Does PMAC's servo/ecat period match the period chosen in EtherCAT network setup?

Quote:(10. Fixed issue where continual transmission of ecat reset commands would cause Power PMAC to stop operation (issue only present in V2.3.2.5 and older)
I believe this was a different issue.
Eric, I only use the Wago IO module of Acontis to detect the status of my device. My ECAT has no motor license and is only I / O.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)