Sk

M12 Connection Point Group, and connecting a cable too it

28 posts / 0 new
Last post
#1 M12 Connection Point Group, and connecting a cable too it

Were the features thatJeff talked about in this post ever implemented?

I've studied the links and screenshots you sent. Thank you for those!

I imagine a very simple example of the SkyCAD solution looking something like this (see attached). I didn't use the block generator to create this by the way, I just drew it manually.

I believe the solution to accommodating master/slave systems like the ones you use, would be to add a button called ADD COMMUNICATION PORT in the block generator ribbon beside ADD DIGITAL INPUT CHANNEL, ADD DIGITAL OUTPUT CHANNEL, etc. This type of channel would behave exactly the same as the other channel types, the only differences being that they would look like M_ connectors on the schematics and would accept communication connections (currently named Ethernet cable in the library) instead of control connections. 

Regarding splitter units, these could be created using the steps shown in the Creating Symbols tutorial, not the block generator. 

What do you think of this proposed solution? We would appreciate your feedback and thank you again for posting your query!

I am wanting to show an M12 4 Pin Male on a Solenoid Valve Stack Controller, and I want to show two M12 5 Pin Females as an Ethernet ports

For the M12 4 Pin make I would then think the base way to handle that would be with a Multi-Conductor Cable connect and then break out each wire so I can label them by color and connect them normally.

Is this now possible?

Here is a very crude drawing, I did in my image editor

See questions in screen shot

See questions in screen shot

Yes and no...

Thanks for posting on the forum.

Were the features thatJeff talked about in this post ever implemented?

Yes, as it is the 'Communication port' that is now available and looks like a RJ45 port.  That said, it is not possible to have several types of communication ports (The RJ45 look is 'symbolic' to represent any type of communication port....)

Is this now possible?

For ethernet, it pretty much already works the way you want it using the communication port.

For your 'Power' and potentially other channels connected using such connectors, it is not possible in the sens that you won't be able to assign several IO channels through the communication port, and define which item is connected to which element.  This is what you need to do to represent communication ports and cables hooked to them in a way SkyCAD can maintaing connectivity logic and be able to query on those.

 

About the difference between 'Connection port groups' and 'Connection point groups', the first is used on Components to group connection ports together, the second is used on symbols to group connection points together.  They're used to map compatible symbol to the associated component.  (This is how a NO contact will know what pin numbers to display because it has a connection point group that matches the connection port group on the component.)

In both cases, you can add them but the Block generator won't use them.  

We plan on allowing to add customised ports to be used with the bloc generator at some point int time, but we have no ETA yet.

 

2 questions

2 questions

1. could I generate block with regular com ports and manually replace them?

2. Could I create a create a different "pin" symbol that that just looks like a line so that I could draw a graphical M12 port and draw lines from it representing connections to each "pin"?

 

So that it as least looks like a M12?

1 - This is what I ended up

1 - This is what I ended up with today for my Power Port

I would like to be able to alter the appearance of the connection ports though.

1.1 - Can I add the female portion of a connector symbol to the drawing? I found some in the environment folder but they aren't listed in the library. are those OK to use?
1.2 - Also, can I add them to the drawing and then link the connectors to the cable? so they have the same Component ID?

3 - As for question 2, it would be nice if I could make an M12 Style Comms port, even if I have to go in and replace the generic ones after I build the block that would be fine.

Yes and no...

Sorry for the late reply.

1 - This is what I ended up with today for my Power Port

That looks great!  

I would like to be able to alter the appearance of the connection ports though.

We're still working on coming up with the best way to accomplish this.  We'll get back to you shortly about that.

1.1 - Can I add the female portion of a connector symbol to the drawing? I found some in the environment folder but they aren't listed in the library. are those OK to use?

Yes, absolutely.  Just make sure to insert the connector pin in a way that its connection point overlaps the component's connection point.  This way SkyCAD will be able to process connectivity.

1.2 - Also, can I add them to the drawing and then link the connectors to the cable? so they have the same Component ID?

You can't define a connector as part of a cable, but this is something that should change soon.  In the meantime, you best bet is to set the connector as a virtual part so that it does not show in parts-lists.

3 - As for question 2, it would be nice if I could make an M12 Style Comms port, even if I have to go in and replace the generic ones after I build the block that would be fine.

We believe what we will come-up with with regards to changing graphical aspect of connector port blocks should resolve this as well.

So I created 2 more symbols

So I created 2 more symbols copied from the standalone female connector symbol.

I moved the pin side connection to point out 1 grid length so that I could connect it, but not have it overlap. seemed to work nicely

Thought: I had to assign a location to the connector so that the wires didn't show as External/Field. Which seemed a bit odd, but I guess if a connector is a separate part number from a cable you would want to be able to do that, but only because it would be separate. If it was part of the cable I don't think you would.



 

Try this...

Ok, sorry for the delay about a solution.  Here's what we came-up with.

  1. Add a property definition to the 'Graphical I-O' class named 'Connector type' (In catalogue tools, when opening a class, choose 'Show/ClassList' from the explorer, otherwise the 'Graphical IO' class will not be displayed...)
  2. Make sure the property definition has the 'List Type' property set to 'Proposed', and define your 'List' property with connector types you wish to use (RJ45, M12, M20, etc.).
  3. Close the class.
  4. Insert on a sheet a PLC block that has a communication port.  Select the communication port and click 'Home/Open block'
  5. Select the portion of the block that looks like a RJ45 connection (the inside of the box only)
  6. Click 'Drawing/Create graphical block' while holding the 'SHIFT' key down. Instead of creating a work block by default, a list of types of blocks will be displayed.
  7. Leave the top selection 'Graphical block' selected, and click OK.
  8. Click to define an insertion point. (It doesn't matter where you set it.)
  9. Once the graphical block is created, double click to explore the block 
  10. Click any property field so it's selected, and disable the button 'Home/Process property queries'
  11. Place the following query in the 'Displayed' property:
    <r:If(Test:GetParent.ConnectorType=RJ45;True:True;False:False)>
  12. At this point the RJ45 block will probably disappear, which is normal.
  13. Expand the properties of the ComPort in the tree view and change the Connector Type property to RJ45. The communication port should now look like an RJ45 port. 
  14. Select a different Connector Type value, and proceed with the same logic.  (Draw a block that looks like the connector type, make a graphical block out of it, set the right query in the 'Displayed' property...)
  15. Once you've made all your connector types, ensure that the Connector Type property is blank, then close and save the tab (ComPortRight / ComPortLeft), choosing to save the changes when prompted. 
  16. When prompted which library folder to save it in, click OK, then Cancel.
  17. Close and re-open your project. You will notice communication ports are blank squares.
  18. Double-click on one such blank square, then set Connector Type to whatever you wish. You should see the change immediately.
Image: 
Beautiful!!!!!!

Beautiful!!!!!!

I'll give it a go.

Im trying the m12 config.

hello, im stuck in the step after creating the graphical block for the conector.

the 'Displayed' property is just a checkbox,  where do i have to copy paste the string?

<r:If(Test:GetParent.ConnectorType=RJ45;True:True;False:False)>

 

 

Yu have to disable 'Process property queries'

Thanks for posting on the forum.

the 'Displayed' property is just a checkbox,  where do i have to copy paste the string?

Click any property field so it's selected, and disable the button 'Home/Process property queries'  (Th small button the has '<A>' drawn on it...)

Then you should be able to enter the query.

Let us know if it works out.

Ignore.

Ignore.

Can't make it work

Hello,

I'm following this, but after I make the block, it asks which library to save it to.

I can choose the different types, but only the first one RJ45 displays.

I'm lost!

We've improved the accuracy

We've improved the accuracy of the instructions in post #8 above. Please let us know if this helps!

Thanks, Works fine now

Thanks.

Works fine.

Cheers,

Bevan

 

P.S. this is by far the best software support i've ever received from a developer, so kudos to you and your team.

You're welcome!

Thank you! 

Is there a grahpical tutorial

Edited:

Is there a grahpical tutorial for how to do this? I cannot get past step 1 on post #8.

 

Where does one add a property definition to a class?

Found it, context sensitive menus got me again.

 

This is incredibly convoluted, I cannot even find where this Graphical IO class is.

Found it, still very convoluted, still cannot get this to work

This tutorial should help

Is there a grahpical tutorial for how to do this?
Not yet, but we have a plan for one.

I cannot get past step 1 on post #8. Where does one add a property definition to a class?
This tutorial explains how to open a class and add a property to it. 

Please let us know if this helps.

    Your post #8 needs more

    Your post #8 needs more clarification:

     

    When the block is created, where is it stored?

     

    Where does this query go? There are multiple places that seem to be possible, which is it? "Exploring" the "Displayed" property opens a new window with either "Root Query" or "Explorer Query," which query is the right query? 

     

    Where are these graphical blocks supposed to be created? Within the terminal we opened initially? If so, how are these supposed to be arrayed? On top of eachother? How do we handle the scale of the drawing (grid spacing way too large to create any kind of detail, the original block doesn't line up with the grid whatsoever, making placement of the insertion point less than ideal, how will this affect display in the block generator?)

    Is there a way to load a file with all of this created already? It seems that in making the example above, you have already done the work. Can that not be shared?

    Total Sidenote found when trying to find these classes in your default installation, you call them "Proxy switches" when they are Proximity Switches, or Prox. Switches. A proxy is completely different.

    Please note we've reached out

    Please note we've reached out to you via email.

    Hi,

    Hi,

    I am getting stuck when I try to create the drawing for the other connector.  I have the pull down working when I select RJ45, etc.  I am not trying to make the actual drawing of the other blocks.  When I create the new graphical block, I cannot figure out how to get to "Drawing" tom make my lines etc and draw a graphic for my circular connector.

     

    Please note we've reached out

    Please note we've reached out to you via email.

      Hello,

      Hello,

      Thank you again for the help getting this working.

       

      After our discussion, I got it all working. The holding shift while creating the graphical block helped.

       

      One trick I had to do to make each of the variations is to copy a previous graphical block and paste it into the com port, it places the block on top of all the others. I copied/pasted to keep formatting consistent between each symbol. So, I input the correct query into the display input, and then Explored the bock, selected the new variant, this made the new block I pasted in the only visible block. This allows you to drag it below the other blocks, dissolve the block, make the changes, highlight all the elements (this is why you have to move it below the others, otherwise it selects all the hiddlen blocks and creates blocks in blocks in blocks), hold shift while creating a new block. This requires inputting the query 2 times but wasn't too cumbersome.

       

      Also, copying the blocks to the other com port variants works, but you have to go in for each one and adjust their positions because of the left/right top/bottom mirroring for each port. This requires exploring the block and selecting each variant, then going in and making adjustments, then repeating the procedure.

       

      Thanks again for the help,

      Seth

      Thanks for letting us know it

      Thanks for letting us know it helped and posting your tips and tricks here.

       

      Previously made blocks don't appear after creating new ones

      I am trying to create 4 variants of the COM port (RJ45, M12, M8, and L-coded M12). I've created blocks for each and the query works on the newly created blocks (<r:If(Test:GetParent.ConnectorType=RJ45;True:True;False:False)>). However the other options that I created keeps getting blown out with the new variant (for instance, the M12 one works when created but after making the M8 variant the M12 one no longer appears). There also doesn't seem to be any rhyme or reason for this as the RJ45 always works.

      I have a feeling that they are just not drawn over the new blocks, but I don't know how to fix this. Has anyone else had this issue and know how to fix it?

      Image: 
      Have you been changing the

      Have you been changing the query for each new port graphic?

      For RJ it is:

      <r:If(Test:GetParent.ConnectorType=RJ45;True:True;False:False)>

      For M12 it should be:

      <r:If(Test:GetParent.ConnectorType=M12;True:True;False:False)>

      and so.

      Yes, I have been changing the

      Yes, I have been changing the query for each new port. It works well until I create the next port graphic.

      Please note we've reached out

      Please note we've reached out to you via email.