-
Content count
65 -
Joined
-
Last visited
Community Reputation
4 NeutralAbout photovoltaic
-
Rank
Sparky
Profile Information
- Gender Male
- Location Some Igloo
- Country Canada
Recent Profile Visitors
-
photovoltaic started following Omron FQ2 Ethernet/IP comunication with Allen Bradley PLC
-
Omron FQ2 Ethernet/IP comunication with Allen Bradley PLC
photovoltaic replied to Daniel PLC's topic in Omron
I have used the FH over EIP quite a bit and I think it may be similar on the FQ - did you cycle power on the FQ after changing the EIP settings? -
Try on the output tag rockwell side, decrease the size by 2 bytes. Rockwell includes extra data in their output datalinks
-
Try this route: create symbols and addresses in CX-Programmer and assign instance IDs with Network Configurator. In the Logix add a generic ethernet device and give it the IP of the CJ and the instance IDs you created (match datatypes and size).
-
photovoltaic started following CJ1W-EIP21 to ControlLogix
-
How are you trying to communicate? AB polling CJ? Implicit or explicit?
-
sequences programming in ladder
photovoltaic replied to Andrea Ascani's topic in NJ Series / Sysmac Studio
Another way some people do state engines is setting and resetting bits instead of a single numeric variable. The bits can have the name of the state as their tag name and this would get you a lot closer. This a controversial method as it is possible to be in multiple states at once if not programmed correctly. Troubleshooting a situation where this happens can be a headache since they can jump around faster than you can see. I'm all out of ideas, hopefully that helps. -
sequences programming in ladder
photovoltaic replied to Andrea Ascani's topic in NJ Series / Sysmac Studio
The only 2 ways I can think of doing this would be an Enum like you said or a String array. Neither are complete solutions.. With Enum you need to extract a numerical value from the Enum datatype and use conventional comparisons but changing the Enum value would fit what you are trying to achieve. This a sort of a halfway there option. With a dynamically addressed string array you can use string compare instructions and have the states clearly displayed in your logic but this causes a lot of processing overhead compared to a simple numeric comparison. States would still be changed numerically though. I guess you could even use a single String variable and change the string to progress through the stages. Lots of overhead processing again. In my experience a numeric variable is always used and the states are just commented. A multi-dimensional string array is a good way to have the state description readily available for your HMI/SCADA/DCS but I've never seen it used as a core for a state engine. -
sequences programming in ladder
photovoltaic replied to Andrea Ascani's topic in NJ Series / Sysmac Studio
There are a number of ways to do this and many people have differing opinions. In my experience I find a state engine to be best. This essentially uses a variable to keep track of the state (sequence number) you are currently on. When the state is finished you change the state variable to the next state. Outputs are controlled by the state value. I use this in C and ladder and structured text often. It works well in any language. The state variable can be used to communicate the state to other parts of the program and control the PLCs actions. Since you're familiar with C type languages it would look something like this: State 0 waits for retracted press, State 1 extends press and waits for confirmation, state 2 waits for 5 seconds to pass // Global variables UINT State = 0; BOOLEAN OUT1; // Press Activate Output BOOLEAN IN1; // Press Extended Sensor Input void LOOP{ if(State==0 & IN1==FALSE){State = 1;} //Press is retracted, move to state 1 if(State==1 & IN1==TRUE){State = 2;}//Press is extended, move to state 2 if(State==2 & Elapsed_Time==5){State=0;}// Press has been down for 5 seconds, move to state 0 //Output Section if(State==0){OUT1 = FALSE;} if(State==1){OUT1 = TRUE;} if(State==2){OUT1 = TRUE;} //Add additional states here } //End void Loop Will you be using Ladder or ST ? -
photovoltaic started following sequences programming in ladder
-
photovoltaic started following Sending boolean with RECV/SEND instructions? [Python&CP1L-EM]
-
Sending boolean with RECV/SEND instructions? [Python&CP1L-EM]
photovoltaic replied to olivier123's topic in CX-Programmer
You may be better off with socket services: https://www.support-omron.fr/telechargements/documentations/2017-10-27%20-%2016-34-16%20-%202122200768/Socket%20Service%20W516-E1-01+CP1L-Ex.pdf -
photovoltaic started following OMRON NS5-SQ10B-V2
-
The outer CF slot is the one used for this. Partition the CF card to a 64mb partition, FAT16. I used a cheap Chinese one with no issues.
-
I'm not aware of any, but I'm far from a VB whiz.
-
photovoltaic started following Tracking program changes
-
What PLC are you using?
-
The NX1P2-1140 can do 4 coordinated plus 4 point to point. I believe this is the cheapest option.
-
photovoltaic started following CPU Selection
-
Do you need coordinated motion or just 3 independent axis?
-
No, it has a converter built into the cable. There is a cable manufactured by a different company for this PLC that you may be able to get in your area: USB-CIF02 These are often on ebay and Amazon etc.
-
If there is a CPM1-CIF01 currently going to the Peripheral port (has a DB9 connector) then you could make a cable. If it is just the PLC on its own then you need the CQM1-CIF02.