innoaloe

MrPLC Member
  • Content count

    425
  • Joined

  • Last visited

Everything posted by innoaloe

  1. Using TPO(685)

    If you're using at least CP1L Series PLC or above it, you can make use of the Index Register to shift the Output Bit. If you're using CP1E series, I don't think there's a workaround for this. For example use MOVR Instruction to put bit 0.00 Physical Address into Index Register IR0. Then use MOV to input the bit Shift amount to DR0 Register. The logic is, if DR0 is 0, IR0 will point to 0.00. If DR0 is 1, IR0 will point to 0.01, etc. In the TPO, you put DR0,IR0 (yes, there's a Comma between them) into the Bit part.   I'm not really sure whether you should retrigger the TPO or not after changing DR0, but if you need to do so it can easily be done. It should look something like this :
  2. NX-Da2603 1-5V

    @Crossbow, there is actually a notation for that. We can put that (400..2000) next to the variable type, e.g. YourVariable has INT type, but instead you use INT(400..2000) type. However so far I can only test that it works as a limiter from Watch Table input only. Using data moving instruction such as MOVE or Mathematics expressions won't do the job, even on the Simulator. So I'm not really sure it is going to work for some use or not.
  3. NX-CIF210 Barcode Scanning

    I never used this version from the Manual... Looking on it it's seems too complicated as an example   If you're lucky enough to have Sysmac Studio Version 1.17, there is a pre-made Function Block inside that simplifies all things for NX Serial Units. Either Option Boards or the ones with EtherCAT Couplers like NX-CIF210.
  4. Hi @Transistor, did you change the Text from the Resources List in the Multiview Explorer? If you change id from there, all text with the same Resource ID will be changed. You should change the text from the Button Property window. As Crossbow mentioned, it is the Text (Default) part, to the right of it. Not under the expanded arrows. If you change it to different text, a new ResourceID will be created. This "Resource" thing will be useful if you're doing a screen with multiple Language Version. Otherwise, just change the text from that Text (Default) thingy.
  5. Using Rotary Encoder

    Hello @uun, As @BITS N BYTES said, the CJ2M-MD211 module will do the job. The only thing you'll need to prepare is custom signal connecting cable (you can prepare one with the old SATA HDD connector), or just buy one from Omron. Also if you're in Singapore, for support you can contact Omron Tech. Support directly at Alexandra Technopark, B Building, 5th Floor.
  6. Anyone connect a IFM Barcode Reader to CJ with Ethernet?

    Don't know if you're posting a wrong part number or not, because I can only find O2I304 Regardless, with CJ1W-ETN21 you cannot use Network Configurator. That's for CJ1W-EIP21, where you are using Ethernet/IP Protocol   With CJ1W-ETN21, you must use Socket Service TCP/IP Function by using ladder program. You can find good example for this topic on Omron W421 Manual (just look on the PDF in google). Looking on IFM spec sheet, they should be able to do TCP/IP communication
  7. Haven't learned about it in detail... but many people said fuzzy logic is basically If-Else statements... dunno it's true or not
  8. NB7W-TW00B Print Error 7300-FFFB

    Good day lads, we encountered an error on a NByW-TW00B HMI, showing "Print Error 7300-FFFB". Checked already on the manual, which mentioned this : "Driver & UI Printer Settings Disable" (V106 manual, Section 7-9). What's worse is that NB manual doesn't give any workaround for any printer error. The NB is not connected to any printer. The "Enable Print" tickbox is unselected (checked both in the program and in the System Setup Screen). Also there is no button/macro which triggers any print function. Any of you have encountered this? Any advice is appreciated. Thank you
  9. Connect cj1w -cpu13 use cn22 cable

    Glad you solved the problem
  10. In NJ, an Axis can be a Servo Drive or Encoder Input. Virtual Servo and Encoder also possible. The part number you mentioned is a Drive, so I think it should work. Just make sure to get the ESI File from the vendor in order to make NJ recognize it.
  11. NJ - Citect communication

    Exactly so
  12. Mailed to you, but better if we keep discussion here.   I also never saw Error 70 anywhere in the manual, but managed to find some separated documents for Accurax G5, mentioning these : Whether its 70.0 / 70.1 / 70.2, you can check using NJ-Troubleshooter 70.0 or 70.1 should be related to wiring. Maybe you got looses connection from the Servo Motor Power Cable to the Drive
  13. Connect cj1w -cpu13 use cn22 cable

    Guess it should be either USB-CN226 or CS1W-CN226 cable since the PLC is CJ1M-CPU13.   If you are using USB-CN226, indeed you'll need the driver which included as a CD-ROM when you buy the cable. If you are using CS1W-CN226 directly plugged to DB9 serial port in PC, no driver will be required. But if you are using additional Serial-to-USB Converter, of course a driver will be required for that converter Whichever cable you are using, make sure the DIP Switch for Peripheral Port is set to Off
  14. NJ - Citect communication

    Hello there, I might be incorrect on some things but :   1: If I define an array of Int 0-99 and set the AT variable to %D00  I can address D00 - D99 in Citect . Is there a way to cross reference the AT % variables  Cross Reference is not possible by for FINS Allocation AFAIK   2: I seem to be able to read and write outside the %D00 - D99 range. Is there a way of finding what memory/variable is being read/written too? You can refer to the table below (mentioned on NJ501 Specification. You should check on specification for your actual NJ part number). It will depend on you to choose which memory   3: When you have multiple tasks / programs how do you keep track of your FINS variables? As mentioned on number 1, you cannot actually monitor/access them as FINS variable. What NJ is doing is just copying the memory to FINS allocation, but variable tracking inside program still using the actual Variable Name. Since FINS allocated variables should be inside Global Variables, you should be able to access them in every tasks / programs as their original variable name
  15. Been 1,5 years using NJ and this function missed from my sight (=_=) I always looking up for it on the Instructions section. Turns out the Random Generator is a Function Block, which looks kinda similar in programming. Nice finding there. Last thing to confirm is connectivity with LinMot. As you mentioned LinMot have CoE EtherCAT models so shouldn't be a problem since NJ EtherCAT runs with CoE. Ethernet/IP should be secondary option compared to EtherCAT if you consider a more "real-time" motion control
  16. Map IOs to structure

    This. UNION type does work in I/O Mapping, and for Digital I/O especially should work better compared to Structure. It works exactly like the CX-One I/O Mapping where you can access CIO Address as a whole or bit per bit
  17. Hello lamboom, well... from your explanation clearly this project is not what NJ is intended to be, as Crossbow mentioned : Indeed it doesn't have one. But a Random Number Generator is never really random anyway since there is certain logic behind it :D Lot's of Random Number Generator algorithm available on the net and can be applied inside NJ aswell One rough way to emulate the Sine as I mentioned before is by using the CAMTable function (see picture). Basically you can make a Virtual Axis inside NJ that moves from 0 to 360 degree (that's one period) as a Master Axis. The LinMot will act as a Slave Axis and synchronize it's position relative to the Master Axis position based on how you set it. The only problem with this approach is that you cannot input actual Compound Sine Function. There are several Curve Method inside CamTable that you can use to mimic how the Compound Sine works, e.g. Parabolic function. By this approach as I mentioned before, each cycle will always be the same. "Rogue Wave" can be created as how you see fit.   Better approach might be to create the actual Compound Sine Function. In NJ you can mix program between Ladder Logic and Structured Text. For mathematical equation a structured text should be an easier approach. If I got your idea right about summation of sine waves, example below should do the job. A better precision can be achieved by changing how the iteration works, e.g. using 0.5 increment of angle. MATLAB connectivity might be an approach you want for a better and fluid Sine control, although I agree that it might be too sophisticated for this project. But just to give you an outlook and references, you can refer to the article below (It's in Japanese, but Google Translate should do the job). Basically MatLab Simulink is used to create a model of inverted pendulum. No matter how you move the base, the feedback control will keep the pendulum from falling down. http://monoist.atmarkit.co.jp/mn/articles/1410/10/news026.html   Anyways, either approach you want to try, I wish you good luck! It won't hurt to contact Omron reps in U.S. Normally you can ask to be contacted by phone using the web form should you need more in-depth discussion, especially to learn using NJ.
  18. Hello, it's indeed an interesting topic, but first of all I want to know what are you trying to achieve exactly? What purpose will these random waves used for? Back on your question, NJ indeed has a Motion Controller inside, but you shouldn't forget that it's purpose is for Machine Automation. It has no advanced mathematical functionality. Your project for a pseudo-random frequency generator is indeed an advanced mathematics :D One way you can try to achieve this is by using the Cam Table feature, although it's not really random since the sequence will repeat exactly the same. Other way I can think of but might become more complicated is by linking NJ to MatLab using SimuLink PLC Coder on MatLab. This way MatLab can be used to create the random spectrum (if you know how to do it with SimuLink, to which I'm not), then sends the sequence in continue to NJ.
  19. NA5 - Dynamically Change Image From Recipe

    You mean the Indirect Addressing function right? Try using NA sometimes... it is so uncomfortable :D
  20. NA5 - Dynamically Change Image From Recipe

    Hello, currently NA5 doesn't support such function. If you try to access ImageBox property by VB, you won't find Image property there.   One way you can trick this is to make lots of ImageBox inside the same page, stacked together. Then you can play with it's IsVisible property based on the recipe used. Although by this method I don't know how big the memory consumption will be
  21. One NJ and two NA5

    Yes, it's possible. Every HMI is acting as communication master. It only talks to the PLC and doesn't talk to each other. So, removing one HMI won't be a problem when needed.
  22. CJ on Optic Fibre Ctrl Link ?

    CJ2 series got no Fiber Optic Controller Link. Only CS1 series have those.
  23. Download only compiled code

    Such method won't be possible. The only way you can protect your code to be retrieved from the PLC is to put a password protection on the PLC.
  24. Hello Everyone, haven't roamed here for a while.   So I'm having a little trouble using the Structure Data Type in Sysmac Studio/NJ. As an independent tool, it is powerful to create user data types, such as Ethernet/IP Tag Link to V680S RFID or any other EIP equipments. And it is way more powerful than the CJ2, since it has the ability for user defined offset, which CJ2 can't do.   But the problem is we cannot move/copy the content of the members to any other standard types. For example, I have a structure with 8 BYTE type members. Then I need to send those out via UDP or TCP/IP comms, which Function Block requires BYTE[] data type. Unfortunately data movement instructions such as MemCopy and AryMove didn't work at all to do the job. This was easily done in CJ2 since we can access each memory content directly. Currently I already resort to use customized Functions which will translates the Structure into BYTE[], but that would mean for every different protocols, I need to create a different Function.   I have seen this problem posted somewhere in the SS/NJ Improvement Request section, so I wonder has anyone know any update about this matter? Haven't checked the latest update yet (SS v1.14), but I'm certain that in SS v1.13 this feature is still unavailable.   Thanks!!!
  25. CJ1M+ETN21 Modbus TCP

    Aside from changing the Socket Number and the IP Address, you also need to change the Function Block name for different connections. So in the first section you had MUX1_Open FB. In the next section you need to give new name to the FB, e.g. MUX2_Open. This also applies to the Send FB. Other than that I don't see why this is not possible, since I had previously used the same FBs for multiple devices with no problem