Jump to content

Henny

Members
  • Posts

    66
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by Henny

  1. Hello Mick Good to hear that your communication problem is solved. Strange that with only the use of realterm the communication port locks, do you remember if you made samewhere a misstake in your laddercode that would explain this lock up behaviore? Did you also try to repower te samba to get the communication running again , mean before you entered the info mode and did the exit to factory boot? Kind regards Henny
  2. Hello Mick When working on your modbus example did you use a comport init and instead of using the powerup bit using another condition that forces the comport to a certain workmode? Try to go to info mode by keeping your finger on th screen until the info mode screen apears. Password to aces the items in infomode is 1111. When in infomode bring the plc in stop mode and then test if communication between visilogic and the samba is working again. In the visilogic communication menu you Will find an option to check the os from the samba. If the samba returns that info to visilogic the your communication is working again. Or you can try to watch the status of your logic online. In the helpfile from Visilogic you Will find more detailed information about info mode. Kind regards Henny
  3. Hello Of course you can use a smaller range. How many data has to be exchanged between th V350 and the S7? When it fits within the choosen range no problem otherwise you and the Unitronics programmer have to make a multiplexing construction to get all the data needed sended between the two systems. So the smaller range is regarding profibus,Siemens and Unitronics no problem. In our plant we have uses 4 V350 plc,s with profibus card connected to a CTI plc that is profibus master and each V350 has a data area of 16 bytes (8 words) input and 16 bytes(8words) output. kind regards Henny
  4. Hello Martin Im not a intouch expert but it sounds to me that the communication between the V570 and Intoch is established and only the data presentation is wrong? The link leeds to a wonderware intoch manual about modbus communication between a modicon plc and intoch. Take a look at page 37 where you have an option "Use data concept Structures (Reals). Perhaps this Will help you any further? https://insource.mindtouch.us/@api/deki/files/1260/DASMBTCP_3.0.pdf?revision=2 kind regards henny
  5. Hello third option nw1 Probe Coiltemp -------[P]----------(. ) nw2 Coil Coiltemp Coil ----[./ ]------[ ]--------------(. ) | Coil Coiltemp | ---[ ]------[/ ] ---------| Not so nicely. drawn but I think you understand kind regards Henny
  6. Hello Aus Thanks for your positive feedback on this! But more annoying regarding the OPC topic that you referred to is that both Isak and I tried to help the topic starter and that Isak even took the effort to test it but until now no reply from the topic starter!! When I would start a topic regarding a problem that I could not solve by myself I would check the forum every day to see if someone has already responded and give an answer back. Also when I found in the meanwhile the solution myself then I would also post it to keep everyone informed. Kind regards Henny
  7. Hello Meelis Theoretically it would be possible to communicate with two PC,s and so two different UNIOPC servers to the V130 But not with the same settings. The V130 supports four ethernet sockets and for the required setup you would need two ethernet sockets. If you also want to connect over ethernet with visilogic , then his would occupy a third socket. Default settings in UNIOPC is the PLC name and port number 20256.(Is also default in remote operator and Visilogic) In both UNI OPC servers you have probably the same port number setting and that’s the reason why both your PC,s won’t communicate simultaneously to the V130. In the help file from visilogic you will find the default port numbers and settings of socket 0 to 3. Search for “socket init”. You also can find info in this help file what program code is needed in the V130 to override the default settings. Let’s say you don’t need the default configuration from socket 0 that is configured for UDP with default port number 20000 then to change this you need a socket init where the configuration is Socket 0 , Protocol=TCP, port number is 20258 , Client/Server=Server. In one of the Uniopc,s you also have the change the default 20256 port to 20258. If you don’t need Modbus tcp over ethernet you could also try to change the port number in one of the Uniopc servers from 20256 to 502 and then no extra program code in the V130 is needed because port 502 is default on socket 2 , TCP and server. Never tested it and I don’t know if things work with port 20258 or just another free higher number but les then 65535 but this approach is the only way I know to get it working. Kind regards Henny
  8. Hello Dave Then only way I see in this is to copy the Integer tag values into a buffertag and then copy the buffer tag into the string tag. Let’s say you have a tag called “stringvalue_int” and type is INT16[0..5] and the result must be placed in a string tag called “text”and type is STRING-ASCII length 6 Then you have to create a buffer tag let’s say “bufmemory” type is BUFFER[0..11] First you do is copy the value from the integer tags into the buffertag by calling six times a “copy tag to buffer” instruction. First tag=offset in buffer 0 Second tag=offset in buffer 2 Third tag=offset in buffer 4 Fourth tag= offset in buffer 6 Fifth tag = offset in buffer 8 Sixth tag = offset in buffer 10 Then you can copy the contense of the buffertag into the string tag with instruction “copy buffer to tag” If the value of a integer is OX3031 then string value will be “10” so if you want it to be 01 then you have to use extra dummy tags for byte swapping and use these dummy tags in the “copy tag to buffer” instruction. Kind regards Henny
  9. Hello Steven A quick scan through the manual tells me that this communication is not modbus but serial over RS 485. For this kind of communication you have to get familiar with the FB protocol. With this protocol you can build your serial Messages. On the Unitronics website you can watch webinars about using FB protocol. Hope it helps. Kind regards Henny
  10. Hello The problem is that when you have a Modbus master slave communication between Unitronics and another device established, that if the communication is interrupted by means of disconnecting the Ethernet cable or rebooting the master the Ethernet socket on Unitronics site maintains in status “connected”. So you have to check if the SDW,s are changing to determine if data is exchanging. When these SDW,s are not changing then you have to do a socket disconnect to allow the master to reestablish the connection again. So I think Joe,s question is , is there another way to eliminate this problem without adding the code for disconnecting the particular socket? Kind regards Henny
  11. Wrong collor otherwise it could be Herbie.
  12. Hello Forgot to attach the screenshot in my previous posting. Noticed that it,s a type mismatch MI59 and MI62 are swapped in the explaining text. Kind regards Henny
  13. Hello @For Unitronics plc you have to look for modbus rtu or tcp remote i/o, or the i/o modules offered by Unitronics. Canbus I/O can also be used by Unitronics. Noticed that Murr also offers Can open protocol so I think you would need this one then. http://shop.murrelektronik.com/en/I-O-Systems/Impact67/IMPACT67-COMPACT-MODULE-PLASTIC-55075.html I don,t have experience with Canbus but at least I know that for a V350 you have to order a V100-17-can module. Kind regards Henny
  14. Hello This is not possible because Unitronics plc can only act as profibus slave and the module you want to connect is also a profibus slave. I see a Unitronics plc with profibus card as a intelligent remote i/o device including Hmi that you connect to a profibus master. For Unitronics plc you have to look for modbus rtu or tcp remote i/o, or the i/o modules offered by Unitronics. Kind regards Henny
  15. Hello In the attached screenshot from the visilogic helpfile (version 9.8.22) explaining the function of the Vector get max function. I suppose there is a type mismatch regarding where the max value is stored. Help file states that the max value will be stored in MI59 but I think it should be MI62? Just a type mismatch? Kind regards Henny
  16. Hello for a TON timer you definie a tag from type Type "Timer". When you gave a symbolic name to it like "delaytime1" then delaytime1.current contains the elapsed time,delaytime1.preset contains the preset time and finally delaytime1.out is the output of the timer and changes to on if the timer has counted down to zero. When you add a second timer and uses the same tag for it then this results in the same behavior as when you use the same timer twice in visilogic. You also write that if you use different names (different tags) all works well so I think the adding the same tag too different timers is the problem here. I fully agree on Flex that long rungs are more difficult to trouble shoot and also difficult to watch the online status because you have to scroll through your screen from left to right etc while with a short rung where you have only 3 our 4 boxes in series you can watch status without scrolling from left to right. Kind regards Henny
  17. Hello You also changed the com init in your Logic to com1 and also in the modbus config fb? This because the units that worked used com2. On the other hand when com init is wrong you would not receive anything. I know this sounds like stupid question but one can sometimes forget too take a look at the most simple things. Succes Kind regards Henny
  18. Hello Jordy My first thinking is use a Mi that contains the number of the batterie that has to be charged(1-8). Use another mi that contains the bitmask. 1 = 0000 0000 0000 0001 2 =. 0000 0000 0000 0010 3 = 0000 0000 0000 0100. etc. Copy this bitmask with num to bit instruction to the outputs. Assuming that your outputs are fore example 01 = batterie 1. O2= batterie 2. 03= batterie 3 etc (addressed directly behind each other). To creatie the desired bitmask you can use the bitset instruction. Hope you understand the idea behind it? Kind regards Henny
  19. Hello Besides the filter function it would Also be an option to put si13 as a contact condition Before your linearisation function. Your input from the io card is then scaled only one time per second. Kind regards Henny
  20. Hello Tonymony MI13 is written to in the Alarm routine and nowere else? If so and you remove the calling of the alarmroutine then it should be possible to write manualy every value to MI13 that you want. This can be done in Online mode by clicking on MI13 and then a box opens were you can assign a value. When MI13 is not influenced by any logic it wil keep the value that you write to it. If you are able to write manualy values to MI13 does the picture that you have attached this MI13 refresh correctly? If this is all true then try to debug the logic that writes to MI13. First restore the call to the alarm routine. Now you should have the same problem as you started with so a not correct value in MI13. If you then go to the alarm subroutine to the first network that stores a value to MI13 and you do a right mouse click on the left site in the collum with the network number a menu will popup that allows you to disable the network. If you do so and download to the controller then this network can no longer affect MI13. With this method you can step by step debug your logic and see where the problem is. Re enable the network is done also by right clicking on the left site in the network collumn. Afterwards downloading to the controller to take effect. I suspect that the problem you have is that instructions in network 1 for example store value x to MI13 while in a network that comes later conditions are also true and therefore value y is stored in MI13. Example: network 1 Logic is true and stores 1 into MI13 network 2 Logic is true and stores 2 into MI13 This means that MI13 is 2 and the logic in network 1 has in this example no influence on MI13. I have a link to a foto image and I hope it is vissible for you. http://s12.postimg.org/cunrb1qwd/forum.jpg Good luck with fault tracing Kind regards Henny
  21. Hello Tonymony,Flex I think the routine calling is not the problem here. In this example I suppose the controller will execute "ALARMS, then when this routine is finished execute "FUEL & TRANSFER SYSTEM", and when finished finally the routine " POWER PLANT" will be executed. If you do the calls into seperate networks and use the same calling order and the condition in each networks is always true then the result would be the same?? Kind regards Henny
  22. Hello If the value of MI O. Is 219 then 1 Will be written to MI 13 in the second network because both the within range compares are true in that situation. Kind regards Henny
  23. Hello. When using Unitronics and Asi the Asi gateway/ or controller has to support modbus or ethernet ip protocol to communicate with Unitronics. In our plant we have Asi system from ifm and the Asi I/o is mapped to our CTI plc,s using profibus dp protocol. We use ifm ac1412 gateways. With Unitronics and Ifm gateway Ac1422 would be needed. There are besides ifm Also Asi vendors like turck, bihl & wiedemann, pepperl & fuchs who have Asi controllers and gateways. I think that once the communication between Unitronics and Asi gateway is established then it would not be to difficult to get the i/o devices working. There are a lot of examples on this website how to get modbus tcp or ethernet ip (only Unistream)running. Kind regards Henny
  24. Hello Flex Thanks for this information ! Now back to Sunit I think. He started this thread to show us the work that he did replacing the Siemens control system with a Unitronics control systeem. Kind regards Henny
×
×
  • Create New...