innoaloe

MrPLC Member
  • Content count

    425
  • Joined

  • Last visited

Everything posted by innoaloe

  1. Send text messages via Omron PLC

    SCU41 is a dual RS485 communication, eventhough for some weird reason the port is in form of DB-9. So you cannot use it for this purpose. Unless maybe you add another RS485 to RS232 converter.   AT Command standard can be found all over internet. I will prefer not to use CX-Protocol / Protocol Macro and just set the SCU to No Protocol mode, sending the data with TXDU instruction for pre-testing. The data to be set is directly set in PLC memory.
  2. Encoder Program for CW & CCW rotation

    My only guess is your encoder don't have same Common with the PLC IO? So the PLC input read is as a floating signal. Regarding the retaining ability of the Settings will depend on the lifetime of your PLC. If it is old enough like 5 years or less depending on usage environment, you can expect the internal capacitor to deteriorate and unable to store charges anymore, thus nothing is kept when power is off. EDIT : Your Encoder is an Open-Collector right?
  3. CHANGING IP ADDRESS IN THE LADDER?

    From Manual W465 : So basically, if the original programmer uses IO Table to set the PLC IP Address, you cannot change the IP Address via DM area anymore. DM Area can only be used to change IP Address if the inside the IO Table IP Address is set to 0.0.0.0.   The thing is you are able to change their DM Area, so CX-Programmer is there right? Or are you using FINS communication tools like Multiway? If Multiway is the case, no luck then... EDIT : Just realized this post was old after I replied ლ(´ڡ`ლ)
  4. Unfortunately you cannot change the Text inside ListBox object dynamically. Same goes for ComboBox/DropDown. There is no way to do so in NA. It's kind of suck, eventhough the IDE utilizes Visual Basic, the functionality is very limited.
  5. Omron FH-L550 Camera controller

    FH Series doesn't support PLCLink communication to FX-Series Mitsubishi PLC. In your case I believe you are already using the NonProcedure method with RS232 (you mentioned FX already able to fetch the data from FH)   I'm not sure what are you really want to do with the ECM Search tool, but I guess you want to change some of it's properties dynamically?   If so, look for manual Z342-E1-08, page 269 for examples of FH NonProcedure RS232 and look for UNITDATA in the Command List. Also look for manual Z341-E1-10, page 143 for list of Parameters in ECM Search dan can be Set/Get to use with the UNITDATA Command
  6. [Utilities] - NX-EIC202 Utility

    Great utility. Hate the fact that Sysmac Studio is not very helpful when designing NX Slots, especially it forgets to tell use that NX1P PLC requires a NX-PF slot in order to make other slots work (-_-)
  7. Send text messages via Omron PLC

    MRD 315 is GSM equipped, so I guess it should be able to send Text Messages / SMS to other cell phone. The only thing that bugs me is that usually this is done via AT Command interface. Looking at the MRD 315 manual, I cannot seem to find a way to send AT Command via Ethernet LAN. However it has a RS-232 Port which can easily accept AT Command. I would suggest you just buy a CP1W-CIF31 which is a RS-232 Serial Option Board that you can mount at the front the CJ2M-CPU32, if there is no other option board installed at the moment. Alternatively you can use a CJ1W-SCU21-V1 which is a RS-232 Serial Slot unit that you can mount on the side of the PLC. Why I'm suggesting to use RS-232 instead is that Socket Service with CJ-Series PLC is kind of a pain in the *** to do correctly for first time users... With RS-232 you don't need to worry about IP Address and other connection related stuff. Just send the AT Command.
  8. NJ501 MODBUS TCP/IP COMMUNICATION ISSUE

    @dipen_95 the said Function Block came from myomron website actually, which was developed by Omron themselves. No, you don't need to pass an INT value to that function block. Just use an additional INT_TO_WORD instruction then pass the result to the Function Block.
  9. I've done this before with Wireshark also, and managed to get it done, but I wouldn't encourage you to do it. CIP is not as simple as your common TCP/IP. Putting only IP Address and Port Number won't help because we need to get SessionID each time a connection is opened, which is always different everytime you open a connection. Regardless, if you have a company e-mail domain, I'll suggest you look for Molex's EIPTools PC software (free software). It's the tool that really helped me to get things done. There you can start with a simple GetAttributeSingle service to get the Identity of NJ or other EtherNet/IP device.
  10. Hi Michael, Let's say OnPageOn is the Variable name you want to toggle if you want to make a OnPageOn TRUE when a specific page is opened, you can use the PageDisplayed Page Event, then give the SetVariable Action on the said event to set the OnPageOn to TRUE. Vice versa, when the page is closed and OnPageOn need to be turned FALSE, you can use add another Page Event which is PageHidden then use other SetVariable Action on the said Event (see screenshot)   Now, on to the Scaling, of the Output Variable, just Map OnPageOn to an NJ variable, and use it for ST calculation triggering condition in the program.
  11. Why do you need to copy the Strings? Why not just use the Variable Map in NA to get the values of the said Strings inside NJ?
  12. Sysmac Studio Improvement Request

    Looking at it, the problem occurred due to so many contents in your Watch Window. Never had such problems, but I usually never open up any Watch Window on startup. It may overloading the RAM
  13. NJ CPU doesn't support Pulse Output unit by itself. You will require an NX EtherCAT Coupler (NX-ECC) to be connected to the CPU, then put Pulse Output (NX-PG0) unit on that Coupler. Same goes for the Encoder input (NX-EC0). NJ wasn't meant to be combined with Pulse Train based Servo in the first place (wasted its EtherCAT potential). I guess that's the reason Omron makes it harder to do pulse train output with it :D   Yes. You'll be needing the NJ301-1200 type at minimum. 1 encoder axis and 6 servo axes, so 7 motion axes in total. As for another PLC that may suffice, a CJ2M combined with CT021 and two NC413 may do the job, depending on the pulse train speed required though...  
  14. Sysmac Studio Improvement Request

    Back on the thread Topic : There were some occasions when you are switching between editing NA HMI to the PLC (either NJ/NX) that the layout of Sysmac Studio doesn't completely changed to PLC Editor. In my case, sometimes the Page Explorer and Properties tab from the HMI Editor still shows up. Just last week when this happened again, closing the Page Explorer in the PLC Editor will make Sysmac Studio crashed. The Recovery function did work, but when I tried to open the file, Sysmac Studio crashed again. The crash must be something related to the unexpected layout view of the software. Luckily the programs already transferred to the hardwares so backing it up is not hard. Oh, and this had happened since the 1.13 version, but still occurred in the latest 1.18 version
  15. NJ/NA/Sysmac Studio - Improvement Request

    Just thinking, can we like delete/archive this thread since the pinned one is already exist?
  16. 1S Servo Drive IAG

    As far as I know no IAG has been released for 1S
  17. For that case, yes. If you want to transfer the new settings (empty one in this case) that box should be unchecked.   But looking at your screenshot, your NJ is not connected yet to the software. Just to make sure if you are trying to see what happened, when you are online to the software, in the Ethernet/IP choose Transfer From Controller first to see what's currently inside, and adjust accordingly.
  18. Hi Michael, in reply to your problem about "Tag Name Resolution Error", indeed it is something related to the previous setting of Ethernet/IP you did in you first trial with LinMot. The problem now occurs because you're not connecting to any Ethernet/IP device anymore, but NJ was still setup to have a memory mapped to a certain Ethernet/IP device. In this case when you are in Work Online to your NJ, go to Sysmac Studio Tools --> Ethernet/IP Connection Settings. In the window opened, double click on your NJ, then open the second tab (Connection). You should see the previous LinMot EIP Drive IP Address registered. Delete it from the list Afterwards go to the first tab (Tag Set) and make sure everything related to LinMot EIP is gone before clicking Tranfer To Controller button. Your problem should have solved then.
  19. Sysmac Studio Improvement Request

    I had one experience about ESI file from a certain 3rd party product. As you probably may know, most servos / inverters that use EtherCAT use the CoE / Can Over EtherCAT protocol. The rule given by EtherCAT Corp. is that an ESI file should only contain One Definition of CoE inside the Mailbox section (you can try opening an ESI with Notepad to see what I mean). This certain vendor provides Two Definitions of CoE inside it's Mailbox section, thus the ESI is rejected by Sysmac Studio. However for some reason Beckhoff's is able to recognize the ESI without fail, so in regards to the "sticking to the rule", in a way Omron is better. I managed to resolve the issue by manually editing the ESI, although it is actually kinda risky to do so if we thinking about "proper usage" and legal issues.
  20. OMRON Input Pulse to SET Instruction

    Right-Click on the STARTCOIL contact and choose Differentiate Up. It will make STARTCOIL to energize the SET instruction only when it transitions from Off to On, so one-shot only. If you want to re-energize the SET instruction, the said STARTCOIL then should be switched Off first then On again.   A keyboard shortcut for the Differentiation is Shift+@ for Differentiate Up, and Shift+% for Differentiate Down.   Alternatively you can also use Differentiation on the SET instruction itself. Instead of only SET, change it to @SET. It will then be triggered only when the left-side inputs turning from Off to On.
  21. I've been into various forums, and if talking about technologies, computer and electronics forums are the best in terms of a real communication. Automation forums are meh... but been working in this field, I can understand the reason why people are not that interested in uncommon application. Computers and Electronics mostly will relate to your hobby to which uncommon topics will generate interest for others to try doing the same. Automation? It's more about your job or revenue you can get. I rarely find fellow Automation person who like it for a hobby, aside some College Lecturers who also run an automation service. Uncommon topics just doesn't sell that well, and putting too much thought on something that generates nothing might seen as useless effort :D. I don't mean any bad to other forum users. Many are being very helpful. It's just that maybe in the first place you asked in the wrong place. I guess consider to ask the vendor local rep 1st, since they will have responsibility to give an answer, and if they don't you have the power to file a complaint :D
  22. Hi Michael, in all honesty I don't know whether it can work or not, since I had no previous application using LinMot, but seeing your Rockwell example, they are using Virtual Servo and Virtual Encoder axis as the streamed data. Now, as you already know before, the cycle-time of NJ can be set to a fixed 2 ms, and from my previous example, I am using the said Virtual Servo. Virtual Encoder also applicable in NJ. So my guess is that we're making these two Virtual Axes to represent the command position (Virtual Servo) and actual position (Virtual Encoder) of LinMot. These values later on sent to the related EIP tag.
  23. cj1w etn21

    A flashing ERH led means your Node Address is set incorrectly. ETN21 by default requires Node Address to be the same as the 4th number of it's IP Address. For example, if your ETN21 IP Address is set to 192.168.250.1, then the sum of Rotary Switch for Node Address should be set to 1 also. Make sure to set it right.   Whether it's true or not depends on your ETN21 setting in the IO Table. Until you can make any screen capture or whatnot, I doubt we can give much input
  24. Hello Michael, appreciate your messages, but in the mean time I will keep this in the forum, should any other may encounter this. I still got many things to close before this month ends, cannot really keep up with the forum. I never had any experience with LinMot Drives, but I do know how Ethernet/IP works, so just some inputs to you : You mentioned that when you pressed Read Command on LinMot software, the Command Header changes to 256 (or 100 hex). I might be wrong, but I believe instead of using Read Command, you should use the Send Command. A little look on LinMot Talk manual mentioned that you should check on the Enable Manual Override checkbox before you can Send any command to the drive. I dunno if you had done that or not, but I think that should be the one. You can test whether the command header works or not on that software before moving to NJ. If by all means that doesn't work, then NJ won't either. Numerical Control basically stands for processors that can create motion path by mathematics equation. Think of a X-Y table with two Servomotor driving linear actuator for example, and you want to move diagonally. We only need to put the target X,Y coordinate, and the processor will automatically calculate required position and velocity for both servo. Now, Omron NJ does have this capability with it's EtherCAT and Pulse Output control due to the fast communication speed, but what I know, Ethernet/IP by it's nature cannot achieve this. Regardless of that, you should first try to send PV Stream command from step 1 mentioned above. If it able to do so, then the Ethernet/IP interface should be able to keep up with it. Later on in order to make sure position data updated every 2 ms, you should just use a Timer in NJ to update the P and V value A quick look on LinMot Ethernet/IP manual here http://www.linmot.com/fileadmin/user_upload/Downloads/software-firmware/servo-drives/linmot-talk-6/Usermanual_Ethernet_IP_SG5_e_recent.pdf from page 27, it shows the memory mapping between LinMot and Master unit (in this case NJ). Since you had LinMot EIP drive, I'm assuming you had been able to set Ethernet/IP up, so mapping those to NJ would just be a bubble over waves. Then you can test whether the PV Stream command works or not. Hope things moving smoothly
  25. Hi Michael, good to hear things are progressing well. Some notes I can add : Warnings not necessarily a problem. In case of my example, those two Local Variables got nothing to control them, that's why Sysmac warns us. Clearing such warnings can either by making them a Global Variables (Sysmac will suspect they're being controlled from HMI), or making a Coil for the same Local Variable (that way Sysmac knows that the variable can be controlled). In the example I did not control the TON activation, so it starts straight when the CPU is booted. As to why CSine kept on changing before Axis was activated is because the TON will keep giving increments on the cycle time, and thus it will be recalculated. In case of activation timing, I suggest you make an interlock to the MC_SyncMoveAbsolute when the servo is not yet in Home Position. Means we need to finish Homing first before starting the CSine. Also when triggering the Homing, you should reset CSine, all FSine, and all SineTime to zero. Looking at your video, the Home Position is not in the middle of the tank, more like in the far back. In that case maybe we should add a centering offset to the CSine, like : CSine = Offset + CSine + FSine[j] to prevent negative position value. The reason some boxes are not changing is because they're in a FOR Loop which is indexed by the j parameter. Because j kept on changing, Sysmac will not show each array index values. You can however see each array index values changing from the Watch Window (IIRC the shortcut is Alt+F3, the toolbar icon is glasses with a square behind it), or just use Data Trace. The reason CSine to the left is the same as CSine to the right is because Sysmac can only monitor the latest value of the variable, so it won't store the previous value in the right equation. On the other note, the TON is not working randomly. It basically starts when the In input is activated. I interlocked it with it's own output Q using normally-closed contact. That's why it will disconnect itself when the set time is reached. Disconnecting In will results to Q turning off, locking back the normally-closed contact, then the timer will restart.   EDIT : Maybe you can remove the first two posts, since we resolved the issues already, just to make things cleaner