So you want a button that simply does a "Take" in XPression but you want the IP and Take ID to come from parameters?
Here is an example panel that uses Visual Logic to do this:
<abs contexttype="opengear">
<meta>
<lookup id="hosts">
<entry key="MyXPression.scriptport">false</entry>
<entry key="MyXPression.color">-1145302</entry>
<entry key="MyXPression.port">7788</entry>
<entry key="MyXPression.host">params.getValue('IP_Address', 0)</entry>
<entry key="MyXPression.scripthost">true</entry>
<entry key="MyXPression.devicetype">XPression</entry>
</lookup>
<params>
<param access="1" maxlength="0" name="IP Address" oid="IP_Address" type="STRING" value="IP Address" widget="text"/>
<param access="1" constraint="0.0;100000.0;0.0;100000.0;1" constrainttype="INT_STEP_RANGE" name="Take ID" oid="Take_ID" precision="0" type="INT32" value="0" widget="spinner"/>
</params>
</meta>
<param expand="true" height="37" left="21" oid="IP_Address" top="20" width="267"/>
<label height="33" left="20" name="Take ID: " style="txt-align:east" top="78" width="125"/>
<param expand="true" height="44" left="150" oid="Take_ID" top="71" width="137"/>
<button buttontype="push" height="64" left="17" name="Go!" top="138" width="271">
<task tasktype="ogscript">
/*! block id=1002,1003 !*/
rosstalk.sendMessage(params.getValue('IP_Address', 0), parseInt(ogscript.getPrivateString('hosts', 'MyXPression.port')), "TAKE " + params.getValue('Take_ID', 0) + ":" + (1 -1) + ":" + 1);
/*!!
<block id="1002" type="MyXPression_xpression_take" x="348" y="89" w="243" color="#ee862a" TAKEID="ID:1003" BUFFER="1" LAYER="1" />
<block id="1003" type="param__top&amp;Take ID (Take_ID)[0]" x="66" y="99" w="243" SET="" />
!!*/
/*!!<checksum>eee5f5ab1af27a22695193d415f901af</checksum>!!*/</task>
</button>
</abs>

#DashBoard