panic mode

MrPLC Admin
  • Content count

    3018
  • Joined

  • Last visited

Posts posted by panic mode


  1. ditto about Apple... 

    btw. if you want to run some PLC software, read the specification. Each software tells you what the minimum requirements are. That is the bottom line. However, you probably want to scale that up or you will be often sitting and waiting a lot even for silliest thing. I would suggest at to at least double RAM and CPU from whatever minimum requirements are - just be be able to explore what given software can do. To actually use it comfortably, scale up that multiplier. In fact if you are programming, you are never using only one piece of software. Rather you may run several large applications or instances of same applications... so don't be shy to bump that multiplier higher. need to get the right tool for the job.

    simply "it can run windows" is not enough...  

    2 people like this

  2. i would say do not specialize on one thing. technology is evolving and products are changing but principles are the same. if you learn one product, that will be of little use to work with another. but if you know principles you can easily adopt and work on any product

    learn general computing, programming etc. this should prepare you for anything software related. get involved in programming and cover as much as you can handle. at the lowest level learn about data types, bit and string manipulation, but do not stop there. 

    learn about electrical circuits and focus on function on things like basic components and circuits (R, L, C, Diode, transistor, scr, transformer), this will allow sizing transformers, PSU and interfacing to other equipment, understanding of galvanic isolation etc.

    math is one thing most people avoid. but this is really empowering.

     

    1 person likes this

  3. spinal tap i guess...

    not sure why one would use MVM. obviously it could be used to extract of combine data when information is packed. while use may be limited, it should be straight forward and reduce clutter that would otherwise be needed to accomplish the same thing. but i tend to like basic instructions, those that are found on every platform. this means operation is more transparent and code is easier to port to other platforms that may not have the special instruction. in fact i am still by number of posts where users are asking for specific instruction to solve their problem rather than try to just implement equivalent using what is already there...

    personally, i am always on a lookout for tidbits to add to my toolbox...then when creating an application i have ready bits and pieces to throw in and get results quickly and reliably (since each clock is already thoroughly tested on previous jobs). 


  4. simple backup utility

    View File

    simple command line backup utility. monitors one folder and when files of given type are detected, they are copied to another location (or two). original can be deleted or renamed. to avoid typing, all options are stored in an INI file. if missing, this file is created once the program is started... successful actions are highlighted in green, failed ones are red. this should also work on older Windows such as Win2K (tested) and WinXP (not tested). 

    use at own risk, this was literally something i just winged... if there is a bug or feature required, let me know. i will try to get to it as time allows. 



  5. i agree... if things used to work, the only reason they stop working is when something external changes. few months ago i run into issue that one of my application started experiencing odd things from time to time. look into event logs confirmed that it coincided with IT script that was executed every hour and included command that was applying group policy update. rewrote TCP server that was affected and life was good again.

    back to this issue....are there more details to the programs? what kind of visual basic? VB5/VB6? or VB.NET? 

    you may not share the code but since you have access to it, you can step through and see what happens. add try/catch and display message. or just google for suitable example to replace part of code that does call of program B. there are different ways to do this but usually it is either shell command or process start.

    if needed to get hands on development environment just create VM and install older Windows and VB. all of this can be downloaded from Archive.org (and i did the same just recently since needed to develop/test for Win2k). needed product keys are there as well since such products have been long retired.


  6. no argument there. but this is clearly not the only way device could be wired. i was merely questioning if that is all there is to it since linked datasheet looks incomplete. it is not uncommon for distribution networks (RS, Newark, DigiKey, Mouser etc) to place edited (stripped down) version of datasheet, sometimes just page or two long. this looks like such trimmed down document (hence embedded RS logo for example). 


  7. have not used MVM and don't have PLC to try it but, like with all asked operations, previous value of the target matters.

    so if initial case is: 

    Input a = 0101 0101 ... etc

    Mask = 1111 0000 ... etc

    Output = 1111 1111 ... etc

    then after execution of MVM, i would expect output to become: "0101 1111 ...." because mask tells to overwrite four left most bits of the Output, and do not change the next four.

     

    So my I would expect that MVM is basically 

    temp1  = Input AND Mask

    temp2 = Output AND NOT Mask

    Output = temp1 OR temp2

     

    1 person likes this

  8. you did not mention version of MR Configurator. 

    well one workaround is to boot older 32-bit OS. i think Win98...Win8 were supported but Win10 has been out for some time so i would expect newer version to exist. did you check Mitsubishi software downloads or tech support?


  9. not sure i recall instruction set but this can be done on any platform using generic mask operations

    Word_Low = MyDint AND 65535 ; AND with 0xFFFF to get the lower 16 bits

    Word_High = MyDint \ 65536 ; integer division (or shift right 16 places) to get the higher 16 bits

     


  10. Motor itself is the least interesting component here. you should specify what controls the motor. There needs to a servo drive or servo amplifier and some sort of positioner, usually PLC...

    How does defined length get entered? How is the value used? 


  11. do you close connection with PLC before unplugging cable? sounds like PLC thinks connection is still open and resource stays tied up... this is why you can connect to other PLCs but not this one. normally timeout should occur no later than 15 seconds but then again, it depends on how PLC resources are utilized. i would guess that this is smaller one (FX?)


  12. you may want to post your code when asking for support.

    without knowing range of values it may be premature to claim that REAL has better accuracy than INT. sure you may see more decimal places but this may be just misleading. and did you consider fixed point instead of floating point?

    i am not familiar with Fatek PLCs, but quick look at their website easily allowed to find the manuals. instruction set manual should explain how to convert INT to REAL or the other way around. the documentation and instruction set looks very familiar (aka "Mitsubishian").

    FUN33 is linear conversion using integers. you may want to convert raw value to REAL first (FUN200) then do the linear scaling your self using floating point instructions.

     

     

    Linear Scaling.jpg

    1 person likes this

  13. 1. i would... years ago i tried running different software on a same machine and it was a pain... splitting it into VMs ensured that dealing with problems of one (such as upgrade) one does not have to worry about others. using VMs means added boot time of VM too, and one need to know a bit of networking to access PLC from within VM so things are clearly not perfect but imho this easily outweighs reloading something like Siemens software for example after some of AB upgrades which are (were) frequent.

    2 then you want VirualBox

    3. depends on machine, you can easily change it any time. you are not forced to make that decision when creating VM

    4. install options for your VM. in case of VirtualBox it is done from menu Devices>Insert Options CD. 

    5 each VM has option to chare folder with host machine

    6. now sure what you mean here. all software uses CPU and RAM. VM itself is fairly light on resources but guest machine will need sufficient amount of CPU and RAM assigned. 

     


  14. i have witnessed destruction of an embedded ethernet port on an industrial PC motherboard. that PC was running at a time (and continued running) but the ethernet port was toast.

    it happened during lab setup. my laptop was booting and i was watching colleague place an ethernet switch on a desk (an insulator). next he pulled 10ft ethernet cable from the computer bag and connected it to the switch. at that moment power was still not applied to the switch. then the other other side of the cable was connected to mentioned PC. it was quiet enough to hear an audible pop and i also saw a small spark. it appears that static charge was able to build up to a level sufficient to fry port on one of the two devices.